Beruflich Dokumente
Kultur Dokumente
ControlNet
Network
(Cat. No. 9220PDG51)
Product
Developers
Guide
Important User
Information
Table of Contents
An Introduction To The
ControlNet Network
Chapter 1
Chapter 2
ControlNet Configuration
21
22
23
24
Chapter 3
Network and Station Management Introduction . . . . . . . . . . . . . . . .
ControlNet Configuration Manager Node . . . . . . . . . . . . . . . . . . . .
Kept Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ControlNet Communication
11
12
13
14
15
17
18
19
110
31
32
32
Chapter 4
ControlNet Network Packet Format . . . . . . . . . . . . . . . . . . . . . . . .
MAC Frame Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lpacket Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Establishing a Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unconnected Message Manager (UCMM) . . . . . . . . . . . . . . .
Message Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connection Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Producer/Consumer Model . . . . . . . . . . . . . . . . . . . . . . . . . .
Object Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Producer/Consumer Connection Types . . . . . . . . . . . . . . . . . . .
Transport Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transport Class 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transport Class 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transport Connection Types . . . . . . . . . . . . . . . . . . . . . . . . . . .
Point-to-Point Class 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Point-to-Point Class 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Multicast Class 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
42
43
44
45
45
46
47
47
48
48
49
49
410
410
411
412
413
tocii
Table of Contents
ControlNet Enablers
Chapter 5
The CNA10 ASIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Protocol Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Communication Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dual-port RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CNA10 Software Components . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unconnected Message Manager (UCMM) . . . . . . . . . . . . . . . . .
Message Router (MR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connection Manager (CM) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Time Critical Bandwidth Allocation in the Connection Manager .
ControlNet Configuration Manager . . . . . . . . . . . . . . . . . . . . . .
Communication Example Code . . . . . . . . . . . . . . . . . . . . . . . . . . .
Messaging Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adapter Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scanner Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 6
Overview of Physical Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Network Specifications And Parameters . . . . . . . . . . . . . . . . . . . .
Tap Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Physical Layer Repeaters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Redundant Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Alternate Network Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
54
55
55
56
56
57
57
57
58
58
59
59
510
510
61
62
63
63
64
64
Chapter 7
Understanding The
ControlNet Cable System . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Understanding ControlNet Components . . . . . . . . . . . . . . . . . . . . .
Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Taps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Trunk Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cable Connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terminators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Repeaters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
73
73
74
74
75
75
75
76
76
77
77
Chapter 8
Determining How Many Taps You Need . . . . . . . . . . . . . . . . . . . . .
Connecting Programming Devices . . . . . . . . . . . . . . . . . . . . . . . .
Determining What Type Of Cable You Need . . . . . . . . . . . . . . . . . .
82
83
84
Table of Contents
tociii
84
85
86
87
88
89
810
811
812
815
815
815
816
816
816
817
817
817
817
818
Chapter 9
Installing The Trunk Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wiring External to Enclosures . . . . . . . . . . . . . . . . . . . . . . . . . .
Wiring Inside Enclosures . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mounting The Taps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecting Where to Mount the Taps . . . . . . . . . . . . . . . . . . . . . .
Mounting the Taps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mounting a tie wrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mounting a Tap using a Universal Mounting Bracket . . . . . . . .
Mounting a Tap through the Body Holes . . . . . . . . . . . . . . . . .
Installing A Repeater . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
European Union Directive Compliance . . . . . . . . . . . . . . . . . . . .
EMC Directive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Low Voltage Directive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecting Where to Mount the Repeater(s) . . . . . . . . . . . . . . . . .
Mounting the Repeater . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grounding the Repeater . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connecting Power and Relay Circuitry . . . . . . . . . . . . . . . . . . . .
Installing Cable Connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Collecting Your Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stripping the Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Testing for Electrical Shorts and Continuity . . . . . . . . . . . . . . . . .
Attaching the Connectors to the Cable . . . . . . . . . . . . . . . . . . . .
Testing for Electrical Shorts and Continuity . . . . . . . . . . . . . . . . .
91
91
91
92
92
92
92
93
94
94
95
95
95
95
96
96
97
99
99
910
914
915
917
tociv
Table of Contents
Mounting Dimensions
Chapter 10
Taps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Universal Mounting Bracket . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Repeater . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
101
102
102
Chapter 11
Adjusting The Cutting Blades . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reversing/Replacing
The Cutting Blades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Changing The Memory Blade Holder . . . . . . . . . . . . . . . . . . . . . . .
Chapter 12
Chapter 13
Chapter 14
Chapter 15
918
918
919
919
921
ControlNet Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contacting Suppliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
111
112
114
122
124
132
133
133
133
134
135
136
137
139
1310
1311
1311
1311
1312
1312
141
151
Table of Contents
Chapter 16
Chapter 17
tocv
152
152
153
154
155
155
156
162
162
163
163
163
164
165
165
166
166
167
167
168
168
1610
1610
1610
1611
1611
1612
1612
1616
1618
1618
1619
1619
1619
1620
1621
1622
1622
1624
171
171
tocvi
Table of Contents
LED Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Module Status LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ControlNet Status LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LEDs at Power Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I/O Status LED (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LED Flash Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standardizing Switch Behavior . . . . . . . . . . . . . . . . . . . . . . . . .
Switches Read at Power Turn On . . . . . . . . . . . . . . . . . . . . . . .
Software Overrides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Product Labeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Publication Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . .
Do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Do not . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ControlNet Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ControlNet Data
Management
171
172
173
175
175
176
176
176
176
177
177
177
177
178
179
Chapter 18
Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Abstract Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Type Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Type Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Elementary data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Derived Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Character String Data Types . . . . . . . . . . . . . . . . . . . . . . . . .
Structured Bit String Types . . . . . . . . . . . . . . . . . . . . . . . . . .
Function Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Elementary Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operations on Function Blocks . . . . . . . . . . . . . . . . . . . . . . . . .
IEC Extended Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IEC 11313 Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Compliance Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Implementation-dependent Parameters . . . . . . . . . . . . . . . . . . .
Language Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Abstract Syntax Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Type Specification/Dictionaries . . . . . . . . . . . . . . . . . . . . . . .
Transfer Syntax: Compact Encoding . . . . . . . . . . . . . . . . . . . . . . .
Compact Encoding Constraints . . . . . . . . . . . . . . . . . . . . . . . . .
Encoding Rules and Examples . . . . . . . . . . . . . . . . . . . . . . . . . . .
BOOL Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
182
182
183
183
183
183
184
184
184
186
186
186
187
187
187
187
187
188
189
1813
1814
1814
1815
1818
1821
1821
1822
1822
Table of Contents
SignedInteger Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UnsignedInteger Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FixedLengthReal Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AnyTime Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FTIME Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LTIME Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AnyString Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Array Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Examples of How More Complex Data Formats are Encoded .
Example 1: Encoding an Array of Structures . . . . . . . . . . . . .
Example 2: Encoding a Structure with an Array Element . . . . .
1822
1823
1823
1825
1825
1825
1826
1827
1829
1830
1830
1830
Chapter 19
Where Objects Fit In The ControlNet Network . . . . . . . . . . . . . . . .
Terms Used In This Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Understanding An Object Specification . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Class Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Class Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instance Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Common Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Get_Attributes_All Response . . . . . . . . . . . . . . . . . . . . . . . .
Set_Attributes_All Request . . . . . . . . . . . . . . . . . . . . . . . . . .
Class-specific Extensions to Common Services . . . . . . . . . . . . .
Class-specific Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Service Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Service Response Data . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ContolNet Addressing
tocvii
191
191
192
193
193
193
193
196
196
197
198
198
198
199
1910
1910
1910
1912
Chapter 20
Connection Path (Conn_path) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Connection ID (Conn_ID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Selecting Connection IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Allocating CIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Multicast Producer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Point-to-Point Consumer . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Specifying The Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Multi-port Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Logical Address - Internal Object Identifier (IOI) . . . . . . . . . . . . . . . 208
Connection Path Specified By Path Segments . . . . . . . . . . . . . . . . 209
Connection Path Size (Conn_Path_Size) . . . . . . . . . . . . . . . . . . 2010
tocviii
Table of Contents
ControlNet Messaging
Chapter 21
Messaging Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Protocol Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure of a General Request Message . . . . . . . . . . . . . . . . . .
Message Service Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Internal Object Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure of a General Response Message . . . . . . . . . . . . . . . .
Object/Service-Specific Extended Status . . . . . . . . . . . . . . . . . .
Data Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Common Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Allocation of Service Codes for Common Services . . . . . . . . . . .
Allocation of General Status Error Codes . . . . . . . . . . . . . . . . . .
Message Router (MR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using a Message Router in a Device . . . . . . . . . . . . . . . . . . . . .
Data Sent by Message Router to Destination Object . . . . . . . . . .
Message Router Interpretation of the IOI . . . . . . . . . . . . . . . . . .
Interpretation of Commonly Used IOIs . . . . . . . . . . . . . . . . . .
Interpretation of Complex IOIs . . . . . . . . . . . . . . . . . . . . . . .
Handling the Response from the Destination Object . . . . . . . . . .
Unconnected Message Manager . . . . . . . . . . . . . . . . . . . . . . . . . .
Examples Of Messaging Packets . . . . . . . . . . . . . . . . . . . . . . . . .
Establshing A ControlNet
Network Configuration
2010
2011
2011
2012
2013
2014
211
212
212
212
213
213
214
215
215
215
216
217
219
219
2110
2111
2111
2111
2111
2112
2113
Chapter 22
Setting Up Connections Before Any Connections Are Made . . . . . . 222
Connection Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Data Flow within the Connection Manager . . . . . . . . . . . . . . . . . 223
Example Connection Based On The Data Flow Diagram For The Connection
Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Before the Connection can be Opened . . . . . . . . . . . . . . . . . . . 226
Originating Application Opens the Connection . . . . . . . . . . . . . . 226
Originating Connection Manager Receives the OPEN Message . . 226
Originating (Client) UCMM Sends Message . . . . . . . . . . . . . . . . 227
Target Connection Manager Receives FWD_OPEN . . . . . . . . . . 227
Target Application Builds Transport . . . . . . . . . . . . . . . . . . . . . . 227
Target Connection Manager Completes Connection . . . . . . . . . . 228
Target UCMM Forwards Reply . . . . . . . . . . . . . . . . . . . . . . . . . 228
Originating Connection Manager Completes the Connection . . . . 228
Table of Contents
Creating A ControlNet
Statement Of Compliance
Chapter 23
ControlNet Conformance
Criteria
Chapter 24
Whats Included . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Required Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Completing The Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Guidelines for Object-specific Information . . . . . . . . . . . . . . . . .
Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Completion Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
tocix
228
229
229
229
229
2210
2210
2211
2215
2215
2216
2216
2216
2217
2217
2218
2219
2219
2221
2222
2222
2223
2223
2224
2225
2226
2226
2226
2226
2226
231
231
232
232
232
233
242
243
244
tocx
Table of Contents
Chapter 25
Developing A ContolNet
Conformance Test Plan
Chapter 26
Introduction To ControlNet
Configruration
Chapter 27
ControlNet Configuration
Manager (CCM)
Chapter 28
Chapter 29
CCM Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Temporary CCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Real CCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Auto-address Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Network Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Network Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
smax (USINT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
umax (USINT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
slot_time (USINT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
blank_time (USINT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
gb_start (USINT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
gb_center (USINT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
261
261
261
262
262
263
263
263
263
263
264
272
273
273
281
282
283
285
285
291
292
292
292
292
292
292
293
Table of Contents
ControlNet Rates
tocxi
293
293
293
293
293
294
294
294
294
294
Chapter 30
Network Update Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Possible Schedules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Multiple Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Accepting/Rejecting Connections . . . . . . . . . . . . . . . . . . . . . . . . . 306
Order Of Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
ControlNet Rates Implementation . . . . . . . . . . . . . . . . . . . . . . . . . 308
Sample Breadth-first Accept/Reject Algorithm . . . . . . . . . . . . . . . . 309
Sample Delete Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3012
Offline Configuration
Chapter 31
Online Configuration
Chapter 32
Chapter 33
Network Change
Chapter 34
Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Returns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Suggested Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Returns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Services Required . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
State Behaviors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reservation Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Changes/Assumptions About Connection Manager and ControlNet
Object
Assumptions Prior to Starting the Network Change . . . . . . . . . . .
331
331
331
331
332
341
341
341
342
342
342
342
342
343
343
tocxii
Table of Contents
Port Change
Chapter 35
Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Returns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ControlNet Miscellaneous
Information
Chapter 36
System Configuration
Glossary
Chapter 37
344
CCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Temporary CCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Listen-only Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Moderator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Master CCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Network Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Network Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Powered-on Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reservation Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
351
351
351
352
352
361
361
361
362
362
362
362
362
362
362
363
363
363
363
363
363
363
364
364
364
364
371
371
371
371
371
371
372
372
372
372
372
Table of Contents
Subnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rogue Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Evil CCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rogue Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lonely . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 38
Chapter 39
tocxiii
372
372
373
373
373
373
382
382
383
385
386
386
387
387
388
388
3812
3812
3812
3813
3813
3814
3816
3817
3817
3817
3823
3827
391
392
393
394
395
3910
3910
3911
3912
3913
3914
3915
3915
tocxiv
Table of Contents
ControlNet Transceiver
Hybrid Data Sheet
Chapter 40
Chapter 41
Shipping Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Solvent Resistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Solderability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mechanical Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Package Pinouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Block Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Circuit Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Truth Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recommended Operating Conditions . . . . . . . . . . . . . . . . . . . . . .
Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
401
401
402
402
404
406
406
407
407
407
408
408
411
411
411
411
412
412
413
413
413
Chapter 42
Package Marking And Shipping Protection . . . . . . . . . . . . . . . . . . .
A-B Manufacturing Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Supplier Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Solvent Resistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Solderability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wave Solderable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Shelf Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Package Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3916
3917
3919
3919
3925
3928
3928
3928
421
421
421
422
422
422
422
423
424
Table of Contents
Truth Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Environmental Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 43
Chapter 44
Shipping Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Solvent Resistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Solderability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Industry Standards Requirements . . . . . . . . . . . . . . . . . . . . . . . . .
Approved Vendors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mechanical Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Construction Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dielectric Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CNA10 Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TQFP Pin Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MQFP Pin Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Auto-configured and Run-time Configured Pins . . . . . . . . . . . . .
Description and Use of the Auto-configured Pins . . . . . . . . . .
Description and Use of the Run-time Configured Pins . . . . . . .
Tristated Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Network Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NAP Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Single Channel with No NAP in Coax Mode . . . . . . . . . . . . . . . .
Single Channel with NAP in Coax Mode . . . . . . . . . . . . . . . . . .
Redundant with No NAP in Coax Mode . . . . . . . . . . . . . . . . . . .
Redundant with NAP in Coax Mode . . . . . . . . . . . . . . . . . . . . . .
Redundant with NAP in Fiber Mode . . . . . . . . . . . . . . . . . . . . . .
Repeater in Coax Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Repeater in Fiber Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Package Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Oscillator and Crystal Specifications . . . . . . . . . . . . . . . . . . . . . . .
Host Interface Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
StartOfCycle and CycleReset . . . . . . . . . . . . . . . . . . . . . . .
Normal Operation Definition . . . . . . . . . . . . . . . . . . . . . . . . .
Alternate Operation Definition . . . . . . . . . . . . . . . . . . . . . . . .
tocxv
424
424
425
425
426
431
431
432
432
432
432
434
435
435
442
443
446
447
448
4419
4429
4430
4430
4431
4432
4432
4433
4434
4436
4437
4439
4441
4443
4445
4447
4449
4450
4451
4451
4451
4452
tocxvi
Table of Contents
Example Hardware
Implementation
Chapter 45
General Design
Overview/Porting Guide
Chapter 46
General Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Food Chain And Its Components . . . . . . . . . . . . . . . . . . . . .
Foundation Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FD Fundamental Definitions . . . . . . . . . . . . . . . . . . . . . . . .
BU Bit Manipulation Utilities . . . . . . . . . . . . . . . . . . . . . . . .
OS Operating System . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OE Operating Environment . . . . . . . . . . . . . . . . . . . . . . . .
4453
4455
4457
4459
4461
4461
4462
4465
4466
4467
4467
4468
4469
4469
4470
4471
4471
4471
4471
4471
452
453
454
455
456
457
458
459
4510
4511
4512
4513
4514
4515
462
464
464
464
465
465
465
Table of Contents
UC Utilities Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LQ Linked Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GS Global Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ControlNet Specifics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CB Communications Buffers . . . . . . . . . . . . . . . . . . . . . . .
CN ControlNet Specifics . . . . . . . . . . . . . . . . . . . . . . . . . .
ControlNet ASIC Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CA CNA10 ASIC Specifics . . . . . . . . . . . . . . . . . . . . . . . . .
CS Communication Services . . . . . . . . . . . . . . . . . . . . . . .
CIP Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DM Diagnostic Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . .
MR Message Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UM Unconnected Message Manager . . . . . . . . . . . . . . . . .
DO Device Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CM Connection Manager . . . . . . . . . . . . . . . . . . . . . . . . . .
RO Rack Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Application Program Interface (API) . . . . . . . . . . . . . . . . . . . . . .
AB Basic Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AM Messaging Services . . . . . . . . . . . . . . . . . . . . . . . . . .
AA Adapter Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EA Example Application . . . . . . . . . . . . . . . . . . . . . . . . . .
PC PC Specific Support Utilities . . . . . . . . . . . . . . . . . . . . .
PD PC Display Routines . . . . . . . . . . . . . . . . . . . . . . . . . .
TS Test Script Processor . . . . . . . . . . . . . . . . . . . . . . . . . .
DC Data Coordinator . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Porting Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Coding Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Function Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variable and Member Names . . . . . . . . . . . . . . . . . . . . . . . . . .
Compiler Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Typedefs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Static Storage Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Macro Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Format Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Listing Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Parenthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Increment and Decrement Operators . . . . . . . . . . . . . . . . . . .
Branch Directive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Braces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
tocxvii
466
466
466
468
468
468
469
469
469
469
469
469
4610
4610
4610
4610
4610
4610
4610
4610
4611
4611
4611
4611
4611
4611
4612
4612
4613
4613
4613
4614
4614
4615
4615
4615
4616
4616
4616
4617
4617
4617
4617
4618
4618
tocxviii
Table of Contents
Parameter Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conditional Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Code blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Critical Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comment Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
File Banner comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Major block comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Minor block comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Service prototype (.h file) comment . . . . . . . . . . . . . . . . . . . .
Data declaration (.h file) comment . . . . . . . . . . . . . . . . . . . . .
Service code (.c file) comment . . . . . . . . . . . . . . . . . . . . . . .
Code block comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Function Block comment . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conditional Block comment . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 47
Chapter 48
AB Component Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AB Component Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4618
4618
4619
4619
4619
4619
4620
4621
4621
4621
4621
4622
4622
4622
481
482
Chapter 49
About The AM API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What is supported by this API? . . . . . . . . . . . . . . . . . . . . . . . . .
What is not supported by this API? . . . . . . . . . . . . . . . . . . . . . .
Other Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CNEC Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AM API Service Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CS_ComBufType Data Type . . . . . . . . . . . . . . . . . . . . . . . . .
Task/Queue Object Model (TQOM) . . . . . . . . . . . . . . . . . . . .
AM Server (i.e., AM Object) . . . . . . . . . . . . . . . . . . . . . . . . . . .
491
492
492
493
493
493
493
495
496
Table of Contents
Example Packets
496
496
498
499
4910
4910
4910
4911
4912
4912
4912
4912
4913
4913
4913
4913
4914
4916
4916
4916
Chapter 50
Test Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Net and Port Parameter Updates . . . . . . . . . . . . . . . . . . . . . . .
Get_Attribute request/ reply to/ from the Device Object . . . . . . . .
Get_Attribute request / reply to / from the Rack Object . . . . . . . .
Forward Open Request / Reply to / from Message Router . . . . . .
Message to / from Message Router Object . . . . . . . . . . . . . . . . .
Forward Close Request / Reply to / from Message Router . . . . . .
Forward Open Request / Reply to the Rack Object . . . . . . . . . . .
Realtime Data to / from the Rack Object . . . . . . . . . . . . . . . . .
Forward Close Request / Reply to the Rack Object . . . . . . . . . . .
CNA30F Dualport
Description Version .9
tocxix
502
503
504
506
508
5010
5011
5013
5016
5017
Chapter 51
Dualport Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dualport Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ASIC_Fault_Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory Field Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ASIC_to_HOST_Mask, ASIC_to_HOST_Request, and
ASIC_to_HOST_Ack . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HOST_to_ASIC_Request and HOST_to_ASIC_Ack . . . . . . . . .
ASIC_Selftest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MAC Processor Fault Code Values . . . . . . . . . . . . . . . . . . . .
COMM Processor Fault Code Values . . . . . . . . . . . . . . . . . .
ASIC_WD_Count and HOST_WD_Count . . . . . . . . . . . . . . . . .
511
512
513
513
513
515
515
515
516
516
tocxx
Table of Contents
Start_Stop_Actual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Channel_Configured . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Buffer_A_ASIC and Buffer_B_ASIC . . . . . . . . . . . . . . . . . . . . . . 518
Buffer_A_Host and Buffer_B_Host . . . . . . . . . . . . . . . . . . . . . . 519
Buffer_RX_Notify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Tx_Buffer_A_Mask and Tx_Buffer_B_Mask . . . . . . . . . . . . . . . . 5110
RX_Buffer_A_Mask and RX_Buffer_B_Mask . . . . . . . . . . . . . . . 5110
Event_Queue_Write_Index, Event_Queue_Read_Index, and
Event_Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5110
Node_Address, Config_Type 279, Current_Net_Mode, Config_Result,
and Config_Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5114
Configuration Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5114
Node_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5115
Config_Type and Config_Result . . . . . . . . . . . . . . . . . . . . . . 5116
Current_Net_Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5118
Config_Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5118
Feature Select Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5121
Operating Mode Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5121
Interval_Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5122
Comm_Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5123
UCMM_Tx_Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5123
UCMM_Tx_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5123
UCMM_Rx_Source_MAC_TAG_Index . . . . . . . . . . . . . . . . . . . . 5123
UCMM_Rx_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5124
Rx_Channel_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5124
Tx_Channel_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5125
Sanity Check Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5126
Appendix A
Device / Identity Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Common Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reset Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Get_Attributes_All Response . . . . . . . . . . . . . . . . . . . . . . . . . .
Object-specific Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Communication Module Example . . . . . . . . . . . . . . . . . . . . . . .
Controller Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I/O Module Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Message Router Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Common Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Get_Attributes_All Response . . . . . . . . . . . . . . . . . . . . . . . . . .
Set_Attributes_All Request . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Object-specific Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A2
A5
A8
A9
A9
A9
A10
A10
A10
A11
A12
A14
A15
A16
A16
A16
Table of Contents
tocxxi
A16
A17
A17
A17
A18
A19
A20
A21
A21
A21
A25
A25
A27
A28
A28
A28
A28
A29
A29
A29
A32
A35
A40
A41
A42
A43
A46
A46
A47
A47
A47
A48
A49
A50
A50
A50
A51
A53
A56
A57
A59
Appendix B
Change History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Process For Creating Or Modifying An Object Specification . . . . . . .
B1
B1
tocxxii
Table of Contents
B1
B1
B2
B3
B5
B6
B8
B9
Appendix C
Transport Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C2
Tools Used to Discuss Transport Services . . . . . . . . . . . . . . . . . C3
Components Of Transport Connections . . . . . . . . . . . . . . . . . . . . . C3
Network Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C3
Link Producer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C4
Data Flow Diagram (DFD) . . . . . . . . . . . . . . . . . . . . . . . . . . C4
State Transition Diagram (STD) . . . . . . . . . . . . . . . . . . . . . . C5
State Event Matrix (SEM) . . . . . . . . . . . . . . . . . . . . . . . . . . . C5
Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C5
Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C5
Link Consumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C5
Data Flow Diagram (DFD) . . . . . . . . . . . . . . . . . . . . . . . . . . C6
State Transition Diagram (STD) . . . . . . . . . . . . . . . . . . . . . . C6
State Event Matrix (SEM) . . . . . . . . . . . . . . . . . . . . . . . . . . . C6
Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C6
Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C7
Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C7
TPDU Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C7
TPDU Buffer Management . . . . . . . . . . . . . . . . . . . . . . . . . C8
Transport Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C8
Classes 1, 2, and 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C9
Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C9
Creating Transport Connections . . . . . . . . . . . . . . . . . . . . . . . . . . C9
Binding Transports to Producers and Consumers of Network Connections
C10
Transport Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C13
Transport Class 1 (Duplicate Detection) . . . . . . . . . . . . . . . . . . . . . C13
Class 1 Client Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C15
State Transition Diagram (STD) . . . . . . . . . . . . . . . . . . . . . . C15
State Event Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C16
Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C16
Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C16
Class 1 Server Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C16
State Transition Diagram (STD) . . . . . . . . . . . . . . . . . . . . . . C17
State Event Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C18
Table of Contents
tocxxiii
Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transport Class 3 (Verified) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Class 3 Client Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
State Transition Diagram (STD) . . . . . . . . . . . . . . . . . . . . . .
State Event Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Class 3 Server Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
State Transition Diagram (STD) . . . . . . . . . . . . . . . . . . . . . .
State Event Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unconnected Message Manager (Single-link Transport Class) . . . . .
Client Unconnected Message Manager (UCMM) . . . . . . . . . . . .
Client Transaction Record . . . . . . . . . . . . . . . . . . . . . . . . . .
Client Transaction State Transition Diagram (STD) . . . . . . . . .
Client Transaction State Event Matrix . . . . . . . . . . . . . . . . . .
UCMM Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transaction Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Server Unconnected Message Manager (UCMM) . . . . . . . . . . . .
Server Transaction Record . . . . . . . . . . . . . . . . . . . . . . . . . .
High-end Server Transaction State Transition Diagram (STD) .
High-end Server Transaction State Event Matrix . . . . . . . . . . .
Low-end Server Transaction State Transition Diagram (STD) . .
Low-end Server Transaction State Event Matrix . . . . . . . . . . .
UCMM Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transaction Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UCMM Wire Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Retry Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Flow Diagram (DFD) . . . . . . . . . . . . . . . . . . . . . . . . . .
State Transition Diagram (STD) . . . . . . . . . . . . . . . . . . . . . .
State Event Matrix (SEM) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interoperability of Transport Classes . . . . . . . . . . . . . . . . . . . . . . .
Transport Classes and Network Connections . . . . . . . . . . . . . . . . .
Transport Class 1 Duplicate Detection . . . . . . . . . . . . . . . . . . . .
Transport Class 3 Verified . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interoperability of Transport Classes and Network Connections . .
Transport Class/Network Connection Interoperability Matrix . . . .
Application Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Production Trigger, Transport Class and EPR . . . . . . . . . . . . . . .
C18
C18
C21
C26
C27
C28
C28
C28
C29
C30
C31
C32
C32
C33
C37
C37
C38
C39
C39
C40
C40
C40
C41
C42
C43
C43
C44
C44
C45
C46
C46
C47
C47
C47
C47
C48
C48
C48
C48
C48
C54
C54
C55
tocxxiv
Table of Contents
Chapter
This chapter introduces the ControlNet network. It contains these
sections:
Section
Page
11
12
Object Modeling
13
14
17
ControlNet Enablers
19
ControlNet Media
110
12
Ethernet
Human
Interfaces
MultiVendor
Devices
Ethernet
Ethernet
Bridges/
Gateways
Numerical
Control
Drives
Weld
Control
Operator
Interfaces
ControlNet
PLCs
Chassis
ControlNet
Other
Automation
Suppliers
Products
PLCs
RIO
1771 I/O
Intelligent
Sensor/Actuator
DH+
DeviceNet
Sensor/Actuator
Flex I/O
DeviceNet
Single Point I/O
Sensor/Actuator
Object Modeling
13
Objects
A Class of
Objects
Instances
Attributes
Attribute Values
Sex
Female
Age
31
Sex
Male
Age
50
Christy
hri ty
Human
uman
Charles
harle
A message is a
signal sent to an
object to request
a service.
Object
Object
Object
Node 3
Object
Ethernet
Node 2
Node 1
Object
ControlNet
14
The ControlNet
Communication Model
control and
I/O data
Unconnected
Message
Manager
(UCMM)
Message
Router
data
trigger
Application Layer
Transport
Services
Transport Layer
Connection Manager
Connection
Tables
Network Layer
15
Unconnected
Message
Manager
(UCMM)
16
Message Router
Connection
Manager
Connection
Tables
Transport
Services
The Users Application Objects are the functions for which data is
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
ControlNet Product
Overview
17
.
ControlNet Product
Application
Specific
Software
Class-specific
Example Code
ControlNet
Example
Software
ControlNet
Enabling
Software
ControlNet
Enabling
Hardware
Network
Access
Port
Interface
Components
ControlNet
ASICs
ASIC
Firmware
Coax
Interface
Components
ControlNet Media
Products
18
Application specific
Software
Class-specific
Example Code
ControlNet
Example
Software
ControlNet
ASICs
Coax
Interface
Components
Network
Access
Port
Interface
Components
ASIC
Firmware
ControlNet Enablers
19
Figure 1.4
Components that Enable Communication on the ControlNet
Network
ControlNet Product
Micro-processor
host
microprocessor
Application
Specific
Software
USER
APPLICATION
ControlNet
Enabling
Software
ControlNet
Example
Software
ASIC
SOFTWARE
FIRMWARE
ASICs
ControlNet
Enabling
Hardware
Network
Access
Port
Interface
Components
EXAMPLE
NAP
RJ-45
CNA10
ControlNet
ASICs
ASIC
Firmware
Transformers
Coax
Transceiver
Hybrid
BNC
Female half
Coax Interface
Components
NAP
Transceiver
Crystal or Oscillator
Taps
Repeaters
ControlNet Media
Products
Tools
BNC
Male half
Cable
110
ControlNet Media
cable A =
cable B =
Redundant Segment
Drop cable is a cable that
connects a node to the trunk
cable (this is an integral part
of the taps)
Node
Node
segment 1
Chapter
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 networks media
This chapter contains these sections:
Section
Page
21
Scheduled Service
22
Unscheduled Service
23
Guardband
24
Time
22
Scheduled Service
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:
digital data
analog data
peer-to-peer inter-locking data
Important:
Figure 2.2
ControlNet Scheduled Media Access Service
NUI
Time
Important:
Unscheduled Service
UMAX is the highest network address that can
communicate during the unscheduled portion
of the NUI. The default is SMAX + 8.
23
NUI
10
11
UMAX
10
11
12
Time
G An implied token method
regulates network addresses
during this portion of the
network interval
G unscheduled delivery is
not deterministic or
repeatable
24
Guardband
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 2.4).
Important:
Figure 2.4
The Moderator Frame Transmitted During a NUI
Guardband
NUI
Guardband
Guardband
Guardband
Time
Moderator Frame
G NUT
G SMAX and UMAX
G Slot Time, based on
physical network size
and configuration
Important:
Chapter
This chapter discusses how the ControlNet network is configured
and maintained. This chapter contains these sections:
Section
Page
31
32
Kept Node
32
Content
network configuration
NUT
SMAX
UMAX
slot time
Important:
32
ControlNet Configuration
ControlNet Configuration
Manager Node
Master
CCM
Node
Kept
Node
Kept
Node
Kept
Node
Kept
Node
Kept
Node
Kept
Node
A network may contain only one CCM. The CCM must be installed
at network address 1. The CCM is responsible for:
making sure that ControlNet configuration information survives a
power cycle
distributing continuously:
network parameters to all nodes on the link, which must be
done before a node can send any data
node specific port parameters, which must be done before a
node can send scheduled data
Kept Node
Chapter
This chapter presents the fundamentals of ControlNet connections.
It contains these sections:
Section
ControlNet Network Packet Format
Connections
The Producer/Consumer Model
ControlNet Network
Packet Format
Media Access
Control (MAC)
frames are the
form in which a
node transmits a
group of data.
This group of data
is in the form of
Lpackets. A single
MAC frame can
contain several
Lpackets.
A link packet, or
Lpacket is data
that has been
packaged and
labeled by a node
in preparation for
transmission.
Page
41
44
47
Figure 4.1
MAC Frame and Lpacket Formats
MAC Frame
(16 bits)
PRE
(8 bits)
(8 bits)
SD
SRC
(16 bits)
MAC Data
(8 bits)
CRC
ED
(variable)
GAP
Interframe Gap
End Delimiter
Preamble
Start Delimiter
Cyclic Redundancy
Check
Source Network
Address
Lpacket
Lpacket
....
Lpacket
variable
(nominal 3 bytes)
8 bits
Length
8 bits
Control
Connection ID
Link Data
42
ControlNet Communication
(8 bits)
(8 bits)
(16 bits)
SD
SRC
MAC Data
CRC
(8 bits)
ED
Start Delimiter
Source Network
Address
GAP
Interframe Gap
End Delimiter
Preamble
Lpacket
(variable)
Cyclic Redundancy
Check
Lpacket
....
Lpacket
ControlNet Communication
43
Lpacket Format
A connection ID (CID) is
a numeric identifier on a
network. It names the
information to
follow.
As shown in Figure 4.2, the MAC data field can contain several
Lpackets, which are the packets of interest to a users 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 4.3.) An application uses the CID to
determine whether or not a particular Lpacket contains the data it
needs.
Figure 4.3
Lpacket Format
either 2 or 3 bytes
8 bits
Length
8 bits
Control
Connection ID
Link Data
Control
Connection ID
Link Data
2 bytes
Fixed connection ID
Service
Code
Destination
Network Address
44
ControlNet Communication
Control
Connection ID
Link Data
3 bytes
General connection ID
Unique Values
Connections
Figure 4.6
Virtual Circuit
Source
ControlNet
Network
Many nodes
Destination
ControlNet Communication
45
Establishing a Connection
Every node contains the following objects:
unconnected message manager (UCMM)
message router (MR)
connection manager (CM)
A connection does not yet exist. Purpose of contact is to set up a connection.
An originator is an
application that
requests a
connection.
Originator
request to open
Target
a connection
A target is an
application with which
the originator is
requesting to connect.
46
ControlNet Communication
Figure 4.7
UCMM and Message Router Interaction
Node 1
Node 2
Message
Router
Message
Router
ControlNet
Network
UCMM
Important:
UCMM
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 nodes objects. Other nodes may establish
a connection with the MR through the UCMM and connection
manager. Figure 4.8 is an example of how the MR functions.
Figure 4.8
Message Router Functions
Message
Router
Requesting
Object
4
Connection
2
3
Destination
Object
Node
ControlNet Communication
47
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 4.9 is an example of how the the CM of a target node
functions upon receiving a connection request by an originating
node.
Figure 4.9
Object Components of the Connection Manager
Link
Producer/
Consumer
UCMM
Link
Resource
Allocator
Connection
4
3
Connection
Processor
Message
Router
Connection Manager
The Producer/Consumer
Model
48
ControlNet Communication
Object Messages
An object message
is a piece of
information that
interests one or
more nodes on the
network.
A producer is a
transmitting node.
A consumer is a
receiving node.
Object Data
Node 2 Consumer
ControlNet Communication
49
Figure 4.11
Multicast Producer/Consumer Connection
Node 3
Node 1 Producer
Node 2
Node 5
Node 4 Consumer
Important:
Node 7 Consumer
Node 8 Consumer
Node 6
Figure 4.12
A Single Node as Both a Producer and Consumer
Node 1
Producer
Node 3 Consumer
Node 2
Node as both
producer and consumer
Node 4 Consumer
Producer
Transport Services
Table 4.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.
Table 4.A
Transport Classes
Class Number
Class Name
Duplicate detection
Verified
Transport Class 1
Transport class 1 is illustrated in Figure 4.13. Class 1 provides the
minimum level of service only, duplicate data detection.
410
ControlNet Communication
Figure 4.13
Transport Class 1
1 indicates initial message delivery
Class 1 Transport
Node 1
Producer
D
D
D
D
Node 2 Consumer
Transport Class 3
Figure 4.14 illustrates transport classes 3. Class 3 provides data
verification.
Figure 4.14
Transport Class 3
1 indicates initial message delivery
Node 1
Producer
Consumer
2
verification message:
packet has arrived
and has been read.
Consumer
Producer
Class 3 Transport
D
D
D
Node 2
ControlNet Communication
411
Point-to-Point Class 1
Figure 4.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).
Figure 4.15
Point-to-Point Connection Using Transport Class 1
1 indicates initial message delivery
Connections within the dashed line boxes are logical. Connections outside the dashed line
boxes are physical.
Node 1
Application
Transport
Producer
1
Node 2
Consumer
Transport
Duplicate delivery
detection (class 1)
occurs here
Application
duplicate
notification
412
ControlNet Communication
Point-to-Point Class 3
Figure 4.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.
A client is an
application that
requests data
from another
application on
an existing
connection.
Figure 4.16
Point-to-Point Connection Using Transport Class 3
A server is an
application that
responds to a
clients request
by sending the
requested data
on an existing
connection.
Connections within the dashed line boxes are logical. Connections outside the dashed line
boxes are physical.
1 indicates initial message delivery
Node 1 Client
Application
Transport
Producer
Consumer
1
2
Consumer
Producer
Important:
Node 2 Server
Transport
Application
ControlNet Communication
413
Multicast Class 1
Figure 4.17 illustrates a multicast connection that can be defined
further as class 1 by the application. This example is similar to
Figure 4.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.
Figure 4.17
Multicast Connection Using Transport Class 1
1 indicates initial message delivery
Connections within the dashed line boxes are logical. Connections outside the dashed line
boxes are physical.
Node 2
Node 1
Application
Transport
Producer
Consumer
Transport
Application
1
Node 3
Application
Transport
Consumer
414
ControlNet Communication
Notes:
Chapter
This chapter contains these sections:
Section
Page
51
Protocol Functions
54
Communication Processor
55
Dual-port RAM
55
56
59
Application Layer
CNA10
Transport
Layer
Network
Layer
Link (physical)
Layer
52
ControlNet Enablers
ControlNet Enablers
53
Figure 5.2
The ControlNet Communication Model and the CNA10
Services
data
trigger
Message
Router
Unconnected
Message
Manager
(UCMM)
Connection Manager
User Provided
Software
CNA10 ASIC
Firmware
ControlNet
Communication
Example Code
ControlNet
Transceiver
Components
ControlNet Media
Components
Transport
Services
Transport Layer
Connection
Tables
Network Layer
Link Layer
Media Access
Media
and
Physical
Layer
54
ControlNet Enablers
Figure 5.3
Block Diagram View of the CNA10
Communication
ROM
CNA10
60 MHZ
Oscillator
Transceiver
Cable
Protocol
functions
MAC processor
modem
receive/transmit FIFOs
Lpacket screener
Configuration Bits
User
Application
Communication
Processor
Dual Port RAM
Host
NAP
Protocol Functions
Transceiver
MAC
functions
Cable
NAP
CRC is an acronym
for Cyclic
Redundancy Check.
CID is an acronym
for Connection
IDentifier.
ControlNet Enablers
Communication Processor
55
Host
"
Dual-port RAM
For more information, refer to the pages listed in the table below.
For information about:
See page:
41
21
Connection IDs
43
Host
Connection
Channels
56
ControlNet Enablers
Important:
CNA10 Software
Components
Buffer
Minimum
Maximum
Default
31 connected channels
252 words
Not applicable
UCMM Rx
32 words
255 words
255 words
UCMM Tx
32 words
255 words
32 words
Resides in the
host processor
Online means to be
actively participating
on the
communication
network.
ControlNet Enablers
57
Resides in the
host processor
Transports
Resides in the
CNA10
Class Name
CNA10 Supported ?
1
3
Duplicated detection
Verified
Yes
Yes
Resides in the
host processor
58
ControlNet Enablers
Resides in the
CCM node
ControlNet Enablers
Communication Example
Code
59
Msg
Msg
adapter
Messaging Class Product
Messaging Class
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 and exchanges unconnected client/server
messages. 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
510
ControlNet Enablers
Adapter Class
Scanner Class
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
Chapter
This chapter provides a summary of ControlNet physical media.
Also, it provides related specifications and parameters on a general
level. For more detailed information about ControlNets physical
media, refer to Chapters 7-11. This chapter contains these sections:
Overview of Physical
Media
Section
Page
61
62
Tap Types
63
63
Redundant Media
64
64
= node
= repeater
= tap
segment
T
drop cable
1m (39.6)
N
R
N
T
terminator
connector
N
62
Network Specifications
And Parameters
A tap connects a
node to the networks
trunk cable.
A segment is trunk-cable
sections connected via taps
with terminators at each
end; a segment does not
include repeaters.
Figure 6.2
ControlNet Cable System Requirements
segment length
m (ft)
1000 (3280) .
Repeater required
750 (2460)
500 (1640)
Repeater not required
250 (820)
Important:
16
32
48
Table 6.A
ControlNet Network Parameters
Parameter
Limit
99 nodes
Data rate
Tap Types
63
straight T-tap
1786-TPS
straight Y-tap
1786-TPYS
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 6.2). Also,
repeaters do not occupy any of the 99 network addresses allowed per
link; they do not require an address. (See Figure 6.2, ControlNet
Cable System Limitations and Requirements.)
segment 1
repeater
If each segment is less than 250m,
each segment could contain up to 47 nodes
(48 connections are allowed on a 250m 2
segment link 1 tap is for the repeater).
segment 2
64
Redundant Media
Important:
A link is a collection
of nodes with unique
addresses (1-99).
Segments connected
by repeaters make
up a link; links
connected by
bridges make up a
network.
cable B =
node
node
Alternate Network
Connection
ControlNet
A
node
B
LEDs
Important:
NAP
Network
Access
Port
Coax
Media
Connections
Chapter
Read this chapter to familiarize yourself with the ControlNet
cable system. It contains these sections:
Section
Page
72
73
72
Understanding The
ControlNet Cable System
segment
trunk-cable
section
N
bridge
network
Term1
network
Definition
a collection of connected nodes
the connection paths between any pair of devices
may include repeaters and bridges
Term
repeater
R
Definition
a two-port active physical layer component that
reconstructs and retransmits all traffic it hears on one
segment side to another segment side
link
tap
T
segment
bridge
trunk cable
node
N
terminator
Understanding ControlNet
Components
73
nodes
taps
trunk cable
cable connectors
terminators
segments
repeaters
links
bridges
network
Nodes
Nodes are defined as physical devices connecting to the ControlNet
cable system that require a network address in order to function on
the network. You can connect PLC-5/20C and -5/40C
processors, personal computers (via 1784-KTC, -KTCX, or
1770-KFC), and 1771 and 1794 adapter modules.
T
For information on purchasing these components see the Allen-Bradley ControlNet Cable System
Component List (publication AG-2.2).
74
Taps
Taps connect each node on a network to the cable system via an
integral 1m (39.37) drop cable.
T
drop cable
1m (39.6)
T-tap
Y-tap
right angle
Trunk Cable
The trunk cable is the bus, or central part of the ControlNet
cable system. The trunk cable is composed of multiple sections
of cable. The standard cable used to construct trunk-cable sections is
quad shield RG-6 type coax.
There are also several types of special-use cables you can use
depending on the environment in which you are installing your
cable system. See page 84 for information on these cables.
75
Cable Connectors
A cable connector (cat. no. 1786-BNC) attaches trunk-cable sections
to the taps BNC connector.
T
trunk-cable
section
Optional Connectors
Allen-Bradley also offers optional cable connectors for use in your
network configuration. See page 811 for available connectors.
Terminators
A 75-ohm terminator (cat. no. 1786-XT) must be installed on the tap
at each end of a segment.
T
trunk-cable
section
Segments
A segment is a collection of trunk-cable sections, taps and two
terminators.
segment
T
trunk-cable
section
76
Repeaters
Use a repeater to increase the number of taps, extend the total length
of your segment, or create a star configuration (go off in multiple
directions from one point). The number of repeaters is limited
depending on your network topology.
segment
segment
When you insert a repeater into your cable system, you create a new
segment. The same restrictions on the number of taps and cable
length apply to this new segment.
Links
A link is a collection of nodes forming:
a segment
multiple segments connected together via repeaters
Each node in a link must have a unique address in the range of 1-99.
In this example, two segments are linked by a
repeater to form a seven node link.
link
segment
segment
77
Bridge
A bridge is a device used to connect links.
link
T
R
N
bridge
Network
A network is the collection of nodes connected together by repeaters
and bridges.
link
segment
segment
trunk-cable
N
section
bridge
network
segment
segment
link
78
Notes:
Use this chapter to determine your network requirements. It contains
these sections:
Section
Page
82
83
84
84
85
86
811
812
Application Considerations
815
Ordering Components
817
82
The number of taps you need depends on the number of devices you
want to connect to the network. You need a tap for each node and
repeater on a segment.
If you plan to add nodes at a later date, you should consider ordering
and installing the cable and connectors for these additional nodes
when you install the initial network. This will minimize disruption
to the network during operation.
Important:
"
tap (1786-TPS,
-TPR, -TPYS or
TPYR)
dust cap
screws
universal mounting
bracket
Straight Y-tap
Right-angle T-tap
Right-angle Y-tap
1786-TPS
1786-TPYS
1786-TPR
1786-TPYR
Important:
Connecting Programming
Devices
1784-KTCX
1784-KTC 1786-CP
or -KTCx
node
node
programming
terminal
83
serial or parallel
connection
serial or parallel
connection
1786-CP
1770-KFC
1770-KFC
node
node
84
There are several types of RG-6 quad shield cable that may be
appropriate for your installation, depending on the environmental
factors associated with your application and installation site.
You should install all wiring for your ControlNet cable system in
accordance with the regulations contained in the National Electric
Code (or applicable country codes), state codes, and applicable
municipal codes.
For:
Standard-PVC CM-CL2
Plenum-FEP CMP-CL2P
festooning applications
High Flex
Flood Burial
Determining Trunk-Cable
Section Lengths
terminator
See Chapter 12, ControlNet Cable System Component List, for information on
suppliers and part numbers.
tap
trunk-cable section
tap
terminator
trunk-cable section
20162
Important:
Select the shortest path for routing the cable to minimize the amount
of cable you need. The specific details of planning such a cable
route depends upon the needs of your network.
85
segment length
m (ft)
1000 (3280)
750 (2460)
500 (1640)
.
250 (820)
16
32
48
number of taps
Example
If your segment requires 10 taps, the maximum segment length
is:
1000m (3280ft.) 16.3m (53.4ft.) x [10 2]
1000m (3280ft.) 130.4m (427.7ft.))
= 869.6m (2852.3ft.)
You must use 75 terminators (cat. no. 1786-XT) at the end of each
segment for the ControlNet cable system to work.
1786-XT
86
1000 (3280) .
Repeater
required
750 (2460)
500 (1640)
Repeater
not required
250 (820)
2
Important:
16
32
48
number of taps
segment 1
repeater
If each segment is less than 250m,
each segment could contain up to 47 nodes
(48 connections are allowed on a 250m
segment 1 tap for the repeater).
segment 2
1786-RPT
20 to 72V dc
1786-RPTD
This contact:
working properly
will open
87
primary
repeater
contact
CR1
neutral
to backup
repeater
See page:
series
5 repeaters
88
parallel
48 repeaters
89
5 repeaters in series;
48 repeaters in parallel
810
Important:
88
segment 1
segment 2
repeater A
repeater B
segment 3
segment 4
repeater C
20090a
89
segment 4
segment 1
segment 3
segment 2
20092a
810
"
"
There can be only one path between any two nodes on a ControlNet
link. Multiple repeater connections between two segments are
not allowed (i.e., the ControlNet cable system does not support
ring topologies).
repeater D
repeater E
repeater F
segment 1
segment 6
segment 2
repeater B
segment 4
repeater C
segment 5
segment 7
repeater A
20133a
811
To:
Cat. No.
cable connector
1786-BNC
To:
Cat. No.
bullet
(jack-to-jack)
1786-BNCJ
barrel
(plug-to-plug)
1786-BNCP
isolated-bulkhead
(jack-to-jack)
1786-BNCJI
right angle
(jack-to-plug)
extender
(jack-to-plug)
panel wall
bullet connector
barrel
connector
taps
right angle
connector
19002
812
!
Important:
You can run a second trunk cable between your ControlNet nodes for
redundant media. With redundant media, nodes send signals on two
separate segments. The receiving node compares the quality of the
two signals and accepts the better signal to permit use of the best
signal. This also provides a backup cable should one cable fail.
Trunk cables on a redundant cable link are defined by the segment
number and the redundant trunk-cable letter.
Actual ControlNet products are labeled with these icons
(the shaded icon representing redundant media).
In this figure, the redundant cable trunk cable is trunk cable B
trunk cable A =
trunk cable B =
node
node
node
20134
813
Route the two trunk cables (trunk cable A and trunk cable B)
SEGMENT 1
terminator
trunk cable A
terminator
trunk cable B
repeater
node
node
node
node
repeater
trunk cable B
terminator
trunk cable A
terminator
SEGMENT 2
20135
814
trunk cable A
terminator
trunk cable B
terminator
node
repeater
node
repeater
trunk cable B
terminator
trunk cable A
SEGMENT 2
node
Important:
20136
Application Considerations
815
Includes:
ac power lines
high-power digital ac I/O lines
high-power digital dc I/O lines
power connections (conductors) from motion drives to motors
analog I/O lines and dc power lines for analog circuits
low-power digital ac/dc I/O lines
low-power digital I/O lines
ControlNet communication cables
low-voltage dc power lines
communication cables to connect between system components
within the same enclosure
Yes
e
0.08m (3)
0.15m (6)
0.3m (12)
0.15m (6)
0.3m (12)
0.6m (24)
Noo
816
0.08m (3)
0.15m (6)
0.6m (24)
Surge Suppression
Transient electromagnetic interference (EMI) can be generated
whenever inductive loads such as relays, solenoids, motor starters,
or motors are operated by hard contacts such as pushbutton or
selector switches. These wiring guidelines assume you guard your
system against the effects of transient EMI by using
surge-suppressors to suppress transient EMI at its source.
Inductive loads switched by solid-state output devices alone do not
require surge suppression. However, inductive loads of ac output
modules that are in series or parallel with hard contacts require
surge-suppression to protect the module output circuits as well as to
suppress transient EMI.
Ferrite Beads
Ferrite beads can provide additional suppression of transient EMI.
Fair-Rite Products Corporation manufactures a ferrite bead
(part number 2643626502) which can be slipped over category-2 and
category-3 (RG-6 type trunk cable) conductors. You can secure
them with heat-shrink tubing or tie-wraps. With a ferrite bead
located near the end of a cable transient emi induced onto the cable
can be suppressed by the bead before it enters the equipment
connected to the end of the cable.
Ordering Components
817
Now that you are ready to begin ordering components, use these
guidelines to help you select components.
General Planning
The ControlNet cable system is isolated from earth and must be
protected from inadvertent ground connections.
Segment Planning
Link Planning
maximum of 5 repeaters in series
maximum of 99 nodes (excluding repeaters)
repeaters require a tap but are not counted as nodes they are
818
Ordering Parts
Item
Tap
straight T-tap
straight Y-tap
right angle T-tap
right angle Y-tap
Repeater 85-250V ac
or 110-250V dc
20-72V dc
Cat. No.
Guidelines
Quantity needed
1786-TPS
1786-TPYS
1786-TPR
1786-TPYR
number of repeaters x 2
+
number of nodes
1786-RPT
1786-RPTD
terminators
1786-XT
number of segments x 2
1786-CP
cable connector
1786-BNC
optional bullet
cable barrel
connectors
isolated-bulkhead
right angle
extender
1786-BNCJ
1786-BNCP
1786-BNCJI
trunk cable
For right angle and extender connector part numbers, see the
ControlNet Cable System Component List (publication AG-2.2).
Use Chapter 12, ControlNet Cable System
Component List, to order your required
length of cable.
You will need to double your quantities when ordering components for a redundant cable system.
Chapter
Follow the instructions in this chapter to install your ControlNet
cable system. This chapter contains these sections:
Section
Page
91
92
94
99
918
918
919
Important:
FEP
61.65kg (137lbs)
69.9mm (2.75)
FEP
35.6mm (1.4)
Tap drop-cable
25.4mm (1.0)
92
"
Once you have mounted your taps, you can discard any
unused universal mounting brackets.
93
T-tap
dust cap
dust cap
universal
mounting bracket
(provided with the tap)
20084-M
20080-M
or
universal
mounting bracket
DIN rail
suitable
fixture
20081-M
Type of rail
A-B Rail
Cat. No.
1492-N1
1492-N22
1492-N44
Type of rail
Din Rail #3
Cat. No.
20082-M
199-DR1
1492-DR5
1492-DR6
1492-DR7
94
screws
or and flat washers
screws and
flat washers
body holes
tie wrap
body holes
20083
!
Important:
Installing A Repeater
See page:
95
95
96
96
97
95
96
38.1mm
(1.50)
8.6mm
(0.34)
215.9mm
(8.5)
9.3mm
(0.38)
196.6mm
(7.74)
197.6mm
(7.78)
12.7mm
(0.5)
19.3mm
(0.76)
101.6mm
(4.0)
50.8mm
(2.0)
grounding stud
star washer
nut
ground lug
20150
97
20150
1786-RPT
1786-RPTD
L1
(+)
L2/N
()
20150
Go to step
yes
no
3
4
98
20150
20150
99
After you have mounted the taps, you need to attach cable
connectors to the ends of your trunk-cable sections.
To:
See page:
99
910
914
915
917
wire cutters
crimp tool
terminators and
extra connectors
memory blade cartridge
(contains two sets of memory blades)
knife
strip gauge
memory blade
holder
20066
910
blade holder
20165
2. Insert the cable into the cable strip tools cutting chamber so that
extra cable, approximately 25.4mm (1), extends beyond the edge
of the tool.
The cutting chamber houses the
center conductor that will be exposed
when the cable is stripped.
25.4mm (1)
extra cable
cable
20073
911
cable
section
20073
4. Holding the cable in one hand, place the index finger of your
other hand inside the chamber-gauge ring and turn the strip tool
360 around the cable. Make 4 or 5 full rotations until the strip
tool glides easily around the cable.
20074
Important:
912
5. After you have moved the chamber gauge ring to the last position
and turned the strip tool the final time:
A. Move the chamber-gauge ring backward to release the
strip tool, and remove it from the cable.
B. Strip away the appropriate portion of the cable,
without using the strip tool.
20075
white insulation
or 1st tape
center
conductor
sheath
4.0mm
8.3mm
Important:
3.7mm
20076a
Go to:
FEP cable
step 6
PVC cable
step 7
913
6. If you are using plenum FEP cable, cut off an additional 3.1mm
(approximately 1/8) of the outer sheath with the knife from the
toolkit.
all 4 shield layers
braid/tape/braid/tape
white insulation
or 1st tape
center
conductor
3.1mm
sheath
4.0mm
11.4mm
3.7mm
20076a
7. Make sure the center conductor is 4.0mm. Use the imprint guide
on the back of the ControlNet tap or the strip gauge to verify this.
center
conductor
(4.0mm)
PVC cable
1786RG6
STRIP GAUGE
PVC/CL2
FEP/CL2P
FEP cable
T-ta
p
center
conductor
(4.0mm)
If the center conductor is too long, cut off the excess
with the wire cutter from the cable kit. If it is too short,
repeat the entire cable-stripping process.
20076a
914
ohmmeter
Then:
continue to step 2
inspect the ends of the
cable for shorted circuits
if you are unable to locate a
short, replace the
trunk-cable section
20166-I
20166-I
If the resistance
reading indicates:
there is no short
that a short exists
Then:
replace the
trunk-cable section
continue to next
section
20166-I
Important:
915
crimp ferrule
stripped cable
20077a
center pin
Important:
20077b
3. With the center pin in place, use the crimp tool to crimp the pin
into place.
The smaller hexagonal
crimping notch is for crimping
the center pin onto the center
connector.
20167
connector base
connector
77002c
916
20077d
6. Slide the crimp ferrule over the three outer shields and connector
base until it meets the shoulder on the connector.
crimp ferrule
20077e
7. Using the crimp tool, crimp the ferrule. Position the crimp tool
on the ferrule as close as possible to the connector base and
ferrule meeting line. Press the tool tightly around the ferrule until
the crimp tool allows release.
The larger hexagonal
crimping notch is for
crimping the ferrule which
holds the connector to the
cable.
crimp ferrule
20167
Important:
917
ohmmeter
connector body
pin
20166
Then
continue to next section
use your wire cutters to
cut off the connector,
install a
new connector and begin
testing again
pin
20166
ohmmeter
connector body
pin
Then
use your wire cutters to cut
off the connector, install a
new connector and begin
testing again
continue to next section
20166
Important:
918
20078
Terminating Segments
The taps on the ends of the segment have only one cable connector
attached to them. This leaves an open, or unterminated, end on the
segment. Signals transmitted along the cable will reflect off these
unterminated ends and interfere with transmission.
To eliminate signal reflections from the ends of the segment,
you must attach a 75 terminator to the first and last taps on the
segment. The terms first and last refer to the physical location
of the node along the trunk cable.
1. Connect one end of the trunk-cable section to one of the taps
BNC connectors.
20078
1786-XT
20079
Connecting Devices
919
See:
page 919
repeater
page 921
procedure below
1. Remove and save the taps dust cap (located on the straight or
right-angle connector).
2. Connect the taps straight or right-angle connector to your device.
If your node supports:
non-redundant media
redundant media
While both channels are active, Allen-Bradley recommends using channel A for
non-redundant media.
920
1786-CP
do not use the 1786-CP cable
to connect a scanner or adapter
module to a PLC processor
1786-CP
1786-CP
do not use the 1786-CP cable to
connect two separate ControlNet
segments
20140
921
segment 1
tap
dust cap
20093-I
2. Remove and discard the dust caps from the repeater BNC jacks.
3. Connect the designated taps straight or right-angle connector to
BNC connector on the repeater.
the the
segment 1
tap
20093-I
922
dust cap
20093-I
segment 2
tap
20093-I
Chapter
10
Use these mounting dimensions to mount your taps, universal
mounting brackets, and repeaters. This chapter contains these
sections:
Taps
Section
Page
Taps
101
102
Repeater
102
T-tap
Y-tap
30.23mm
(1.19)
35.56mm
(1.40)
15.24mm
(0.60)
33.02mm
1.30
15.24mm
(0.60)
25.4mm
(1.00)
39.37mm
(1.55)
31.37mm
(1.235)
20168
20169
actual size
102
Mounting Dimensions
actual size
58.42mm
(2.30)
49.53mm
(1.95)
15.47mm
(0.609)
30.94mm 19.05mm
(1.218) (0.75)
9.53mm
(0.375)
20170-M
38.1mm
(1.50)
9.1mm
(0.36)
8.6mm
(0.34)
215.9mm
(8.5)
Repeater
50.8mm
(2.0)
9.3mm
(0.38)
196.6mm
(7.74)
197.6mm
(7.78)
12.7mm
(0.5)
19.3mm
(0.76)
101.6mm
(4.0)
Chapter
11
Follow the instructions in this chapter to adjust the cable strip tool,
supplied with the ControlNet Coax Toolkit (1786-CTK).
This chapter contains these sections:
Section
Page
111
112
114
Adjust the blade cutting depth by turning the three screws located in
the memory blade holder. Each screw adjusts the corresponding
blade in the blade cassette.
adjusting screws
To:
clockwise
counterclockwise
20068
Adjust the three screws until the strip tool makes these cuts in
the cable:
2 white insulation
or 1st tape
3 center
braid/tape/braid/tape
conductor
sheath
4.0mm
8.3mm
Important:
3.7mm
20076a
112
Reversing/Replacing
The Cutting Blades
20182
20183
If you are:
Go to:
step 3
step 4
113
3. Flip the memory blade cartridge and slide it back into the
strip tool. Go to step 5.
20184
4. Align the memory blade cartridge (the side with the raised
notches) to the raised area on the inside of the strip tool and slide
the new memory blade cartridge in the blades should be on top
as you slide the cartridge in.
raised notch
raised area
20184
20069
114
You received two memory blade holders with your cable strip tool;
one is for PVC-CL2 cable, and the other is for plenum FEP-CL2P
cable. You need to install the appropriate memory blade holder for
the type of cable you are stripping (PVC or FEP).
1. Lift the latches on the memory blade holder and swing it back.
20182
2. Snap the memory blade holder off the rod and remove it from the
strip tool.
20070
3. Position the appropriate memory blade holder on the rod and snap
the holder into place.
4. Swing the memory blade holder closed.
20069
Chapter
12
This chapter contains the current ControlNet cable system
components and their suppliers. Contact the suppliers at the
addresses and phone numbers listed for current availability and
additional application information. This chapter contains these
sections:
Section
Page
ControlNet Components
122
Contacting Suppliers
124
122
ControlNet Components
Item
Supplier
Catalog Number
or Part Number
right-angle T-tap
straight T-tap
right-angle Y-tap
straight Y-tap
repeaters
Allen-Bradley
1786-TPR
1786-TPS
1786-TPYR
1786-TPYS
high-voltage ac & dc
low-voltage dc
RG-6 quad shield cable
Allen-Bradley
1786-RPT
1786-RPTD
flooded-burial
Belden
Comm/Scope
1190A
5740B
high-flex
Allen-Bradley
Belden
Comm/Scope
Belden
PVC/Aluminum
Belden PVC/Steel
Comm/Scope
Belden
Comm/Scope
Belden
Comm/Scope
Belden
Comm/Scope
Allen-Bradley
Belden
Comm/Scope
Allen-Bradley
1786-RG6F
YR-28890
5740F
121189A
Allen-Bradley
Weidmuller, Inc.
Paladin Tools
Weidmuller, Inc.
Paladin Tools
Weidmuller, Inc.
Paladin Tools
Weidmuller, Inc.
Paladin Tools
Weidmuller, Inc.
Paladin Tools
Weidmuller, Inc.
Paladin Tools
1786-CTK
1349AB
interlocking-armor
corrugated-armor
messengered
plenum-FEP CMP-CL2P
siamese (dual)
standard-PVC CM-CL2
131189A
5740A
1191A
5740M
1152A
2227K
9072
5740S
1786-RG6
1189A
5740
1786-CP
2082
1247AB
2247X
2245AB
2245AB2
Allen-Bradley cable is packaged in 304.8 m (1000 ft) rolls; quantity of 1 = 304.8 m (1000 ft).
Allen-Bradley connectors are packaged in lots of 50; quantity of 1 = 50 connectors.
Radialls isolated-bulkhead connector is a square-flange, four-screw mounting style connector.
Item
123
Supplier
Catalog Number
or Part Number
Allen-Bradley
Amphenol
Global
Components
Kings
Radiall
Trompeter
Allen-Bradley
Amphenol
Global
Components
Allen-Bradley
AMP
Amphenol
Global
Components
Kings
Radiall
Trompeter
Amphenol
Allen-Bradley
Amphenol
Global
Components
Kings
Radiall
Trompeter
AMP
Amphenol
Global
Components
Kings
Radiall
Trompeter
Allen-Bradley
AMP
Amphenol
Global
Components
Kings
Radiall
Trompeter
1786-BNCP
31-218-75RFX
09C-032
BNC connectors
barrel (plug to plug)
right-angle
(plug-to-jack)
plug-to-jac
terminators (BNC-75)
2029-18-9
R142703
ADUPL20-K1UPL20
1786-BNC
31-71000-RFX
09C-033
1786-BNCJ
221551-3
31-219-RFX
09C-036
2029-15-9
R142704
UAD28
21925-1001
1786-BNCJI
31-4803-1101
09C-038
2029-17-9
R142717
UBJ28
222165-2
31-9-RFX
09C-037
2029-25-9
R142770
UADRNMF20
1786-XT
221629-5
46650-75RFX
09C-034
2555-3-34
R404012
UTNA1-1175
Allen-Bradley cable is packaged in 304.8 m (1000 ft) rolls; quantity of 1 = 304.8 m (1000 ft).
Allen-Bradley connectors are packaged in lots of 50; quantity of 1 = 50 connectors.
Radialls isolated-bulkhead connector is a square-flange, four-screw mounting style connector.
124
Contacting Suppliers
ALLEN-BRADLEY COMPANY
Canada
Great Britain
AMP
Argentina
AMP S.A. Argentina C.I.Y.F.
Juncal 2869
(1640) Martinez
Prov. Buenos Aires
Argentina
Tel: 011 54 1 793 7311
Fax: 011 54 1 793 9331
Australia
Melbourne
Australian AMP Pty. Limited
Unit 11/19-23 Kylie Place
Cheltenham
Victoria 3192
Australia
Tel: 011 61 3 532 1311
Fax: 011 61 3 553 4936
Austria
AMP Osterreich GmbH
Pilzgasse 31
A-1210 Wien
Austria
Tel: 011 43 1 277 97 0
Fax: 011 43 1 270 26 61
Belgium
Brussels Branch Office of AMP Holland
Bedrijfspark Keiberg
Excelsiorlaan 5
1930 Zaventem
Belgium
Tel: 011 32 2 719 2511
Fax: 011 32 2 721 3263
Brazil
AMP do Brazil
Rua. Ado Benatti 53
CEP 05037 Sao Paulo
Brazil
Tel: 011 55 11 861 1311
Fax: 011 55 11 861 0397
China
Beijing
AMP Beijing Office
Room 3039, Hotel Beijing
Toronto Jianguo
Men Wai DA JIE
Peoples Republic of China
Tel: none
Fax: 011 86 1 500 2022
Holland
AMP-Holland B.V.
Rietveldenweg 32
5222 AR s-Hertogenbosch
The Netherlands
Tel: 011 31 73 20 0911
Fax: 011 31 73 21 2365
Czech Republic
Hong Kong
Czech s.r.o.
CR-61254 Brno
Sumavska 33
Czech Republic
Tel: 011 42 5 412 12 444
Fax: 011 42 5 412 11 180
Denmark
AMP Denmark
Gunnar Clausens Vej 36
Postbox 2211
DK-8260 Viby J
Denmark
Tel: 011 45 86 295 055
Fax: 011 45 86 295 133
Hungary
Finland
India
AMP Finland OY
Konalantie 47C
SF-00390, Helsinki
Finland
Tel: 011 358 0 547 2255
Fax: 011 358 0 547 2250
Cochin
AMP Tools (India) PVT LTD
Plot No. 44
Cochin Export Processing Zone
Kakkanad
Cochin 682030
Tel: 011 91 484 422597 or
011 91 484 422598
Fax: 011 91 484 422593
France
AMP de France S.A.
Rue Ampere
29, Chaussee Jules-Cesar
95300 Pontoise
France
Tel: 011 33 1 3420 8888
Fax: 011 33 1 3420 8600
Germany
AMP Deutschland GmbH
Ampere Str. 7-11
63225 Langen
Germany
Tel: 011 49 6103 7090
Fax: 011 49 6103 709223
Ireland
AMP Ireland Limited
65 Broomhill Road
Tallaght Industrial Estate
Dublin 24
Ireland
Tel: 011 353 1 51 7333
Fax: 011 353 1 52 7685
AMP (continued)
Italy
AMP Italia S.p.A.
Via Fratelli Cervi 15
10093-Collegno (Torino)
Italy
Tel: 011 39 11 401 2111
Fax: 011 39 11 403 1116
Japan
main office
AMP (Japan) Limited
3-5-8 Hisamoto
Takatsu-Ku
Kawasaki-shi, Kanagawa 213
Japan
Tel: 011 81 44 844 8111
Fax: 011 81 44 812 3207
Korea
AMP Korea Limited
11F, B-Block Samho
Center Bldg. 275-6
Yangjae-Dong, Sucho-Ku
Seoul 137-130 Korea
Tel: 011 82 2 589 0535
Fax: 011 82 2 589 0524
Malaysia
Kuala Lumpur
AMP Products (Malaysia) SDN. BHD.
No. 67, Jalan Telawi Tiga
Off Jalan Maarof
Bangsar Baru
59100 Kuala Lumpur
Malaysia
Tel: 011 60 3 2828128
Fax: 011 60 3 2828951
Mexico
Amp de Mexica, S.A.
Alfredo B. Nobel No. 28
La Loma
54060 Tlalnepantla, Edo. Mex.
Mexico
Tel: 011 525 729 0400
Fax: 011 525 398 7964
New Zealand
New Zealand AMP Ltd.
57 Mahunga Drive
Mangere
Auckland
New Zealand
Tel: 011 64 9 6344580
Fax: 011 64 9 6344586
Norway
Thailand
Portugal
AMP Portugal, LDA
Rua Joaquim
Antonio De Aguiar
NR 66 1 DT
1000 Lisboa
Portugal
Tel: 011 351 1 3877016 or
011 351 1 3877057
Fax: 011 351 1 877172
Singapore
AMP Singapore Pte. Ltd.
26 Ang Mo Kio
Industrial Park 2
Singapore 2056
Tel: 011 65 482 0311
Fax: 011 65 482 1012
Spain
AMP Espanola, S.A.
Muntaner, 249-5A
08021 Barcelona
Spain
Tel: 011 34 3 200 8466
Fax: 011 34 3 201 7879 or
011 34 3 414 5606
Sweden
AMP Svenska AB
Datavagen 5
Jakobsberg
Sweden
Tel: 011 46 8 580 833 00
Fax: 011 46 8 580 194 70
Switzerland
AMP (Schweiz) A.G.
Amperestrasse 3
9323 Steinach
Switzerland
Tel: 011 41 7 147 0707
Fax: 011 41 7 147 0347
Taiwan
AMP Taiwan B.V.
Rm. 1404, No. 136 Jen Ai Rd.
Section 3
Taipei, Taiwan
Republic of China
Tel: 011 886 2 325 0391
Fax: 011 886 2 325 0398
125
Turkey
AMP Elektrik-Elektronik
Baglanti Sistemleri Ticaret Ltd. Stl
Buyukdera Cad. Yapi Kerdi Plaza
B Blok 26A
80620 Levent-Istanbul
Turklye
Tel: 011 90 212 281 8181
Fax: 011 90 212 281 8184
United States
Amp Incorporated
P.O. Box 3608
Harrisburg, PA 17105-3608
Tel: 717 564 0100
Fax: 717 986 7605
AMPHENOL
Australia
Amphenol Rep. Office
Suite 9, 214 Bay St.
Brighton, Victoria 3186
Australia
Tel: 61 3 595 0246
Fax: 61 3 596 2538
Austria
Amphenol GmbH
Tautenhynngasse 22
A-1150 Wien (Vienna)
Republik Osterreich
Tel: 43 1 985 1511
Fax: 43 1 982 6101
Telex: 847 132661 AMPHW A
Belgium
Amphenol Behelux B.V.
Liaison Office
Bergensestenweg 1135
Chaussee de Mons 1135
Brussel 1070 Bruxelles
Belgium
Tel: 32 02 523 11 18
Fax: 32 02 523 11 99
126
AMPHENOL (continued)
Canada
Montreal (ACC)
Amphenol Canada Corp.
1870 Des Source #104
Pointe Claire, PO
H9R 5N4 Canada
Tel: 514 630 7242
Fax: 514 630 7697
Toronto
Amphenol Canada Corp.
20 Melford Dr.
Scarborough, Ontario
M1B 2X6 Canada
Tel: 416 291 4401
Fax: 416 292 0647
France
Amphenol Socapex
5, rue du President Kruger
92403 Courbevole Cedex
8P 5 France
Tel: 33 1 490 53922
Fax: 33 1 433 31125
Telex: 842 215709
Germany
Amphenol Tuchel
Electronics GmbH
Aug.-Hausser Str 10
Posttfach 3469
7100 Heilbronn
Germany
Tel: 49 7131 4860
Fax: 49 7131 488323
Telex: 841 728224
Hong Kong
Amphenol East Asia Ltd
Unit 705-6 7/F Block B
37-39 Ma Tau Wal Rd
Hung Hom
Kowloon, Hong Kong
Tel: 852 362 0787
Fax: 852 764 7910
Telex: 780 39289
India
Amphetronix Limited
Plot No. 105
Bhosari Industrial Area
Post Box No. 1
Poona
411 026 India
Tel: 91 212 790363
Fax: 91 212 790681
Telex: 953 146237
Italy
U.K.
Amphenol Limited
Thanet Way
Whitstable, Kent
CT5 3JF England
Tel: 44 227 773200
Fax: 44 227 276571
Telex: 851 96157
Japan
United States
Amphenol
RF/Microwave Operations
One Kennedy Avenue
Danbury, Connecticut 06810
Tel: 203 743 9272 or
800 625 7100
Fax: 203 796 2032
Telex: 710 456 0281
Netherlands
Amphenol Benelux B.V.
Peppelkade 2a
3992 AK Houten
The Netherlands
Tel: 31 3403 76499
Fax: 31 3403 77899
Telex: 844 40794
New Zealand
Amphenol Rep. Office
Suite 9, 214 Bay St.
Brighton, Victoria 3186
Australia
Tel: 61 3 595 0246
Fax: 61 3 596 2538
Singapore
Amphenol East Asia Ltd
80 Genting La #09-04
Genting Block
Ruby Industrial Complex
Singapore 1334
Republic of Singapore
Tel: 65 7433022
Fax: 65 7432466
Telex: 786 23499
Sweden
Amphenol Scandinavia AB
Box 2047
Johanneslundevaegen 2
S-194 02 UpplandsVaesby
Sweden
Tel: 46 8 590 77100
Fax: 46 8 590 33800
Telex: 854 17890
Taiwan
Amphenol East Asia Ltd
180 Pu-Yi Road
Chung U City
32006 Taoyuan Hsien
Taiwan R.O.C.
Tel: 886 3 462 9445
Fax: 886 3 451 4062
BELDEN CORPORATION
Australia
Belden Electronics
South Yarra Corporation Center
Suite 34, 209 Toorak Road
South Yarra, Victoria 3141
Australia
Tel: 03 826 0448
Fax: 03 827 2230
Contact: Bob Mckaige
England
Cooper Energy Services
Chester House
86, Chertsey Road
Woking, Surrey GU21 5BJ
England
Tel: 0483 726 818
Fax: 0483 771 569
Contact: Paul Welch
France
Belden Electronics SARL
33, Quai de Dion Bouton
F-92814 Puteaux Cedex
France
Tel: 1 4081 0370
Fax: 1 4081 0222
Germany
Belden Electronics Gmbh
Fuggerstr 2
4040 Neuss 1
Germany
Tel: 02131 3 16 0
Fax: 02131 3 16 237
Contact: Phil Dunn
Sweden
CLOFIS SA
Brusseleesteenweg, 539
B3090 Overilse
Tel: 02 657 18 05
Fax: 02 657 26 20
Telex: 22 693
United States
Comm/Scope Company
Network Cable Division
3642 US Hwy 70 East
P.O. Box 879
Claremont, North Carolina 28610-0879
Tel: 704 459 5000 or
800 982 1708
Fax: 704 459 5099
Telex: 801 166
Belden Corporation
P.O. Box 1980
Richmond, Indiana 47374
Tel: 317 983 5200
or 800 BELDEN 1
Fax: 317 983 5294
COMM/SCOPE COMPANY
Belgium
Brazil
BRASITEC Imp. Com. Ltda.
R. Americo Braslliense 2069
04715 - Sao Paulo
Tel: 011 532 40 44
Fax: 011 521 02 21
Telex: 115 66 91
Canada
Birde Marketing, Inc.
111 Esna Park Drive
Markham, Ontario L3R 1H2
Tel: 905 477 77 22
Fax: 905 477 78 13
Denmark
Knud Kamuk A/S
Bredebovej 31
DK 2800 Lyngby
Tel: 42 883 833
Fax: 42 884 077
Eastern Europe
Av. du Scheutbosch 51 B3
B-1080 Brussels
Belgium
Tel: 011 32 2 410 9584
Fax: 011 32 2 410 9584
Contact Henri Van Hulsel
United States
Belgium
LEMOSA GmbH
Wurlitzergasse 10/3
A1160 Wien
Tel: 0043 1 45 37 95
Fax: 0043 1 46 52 438
Telex: 114 049
South America
Belden Electronics
Karlavagen 18
P.O. Box 5671
11486 Stockholm
Sweden
Tel: 08 614 5080
Fax: 08 614 5180
Austria
Singapore
Brazil
127
GLOBAL COMPONENTS
Global Components Corporations
3729 Paoli Pike
Floydsknobs, Indiana 47119
Tel: 821 923 1000
Fax: 812 923 1001
KINGS ELECTRONICS
COMPANY, INC.
Kings Electronic Company, Inc.
40 Marbledale Road
Tuckahoe, New York 10707
Tel: 914 793 5000
Fax: 914 793 5092
LEMO
Australia
John Barry Group Pty. Ltd
1 MacLaghlan Avenue
Artarmon, Sydney, NBW 2064
Tel: 02 439 69 55
Fax: 02 439 23 76
Telex: 25 188
Finland
Field Oy
Niittylantle S
SF 00620 Helsinki
Tel: 0 777 571
Fax: 0 798 853
France
Lemo France Sarl
Allee des Erables, Bat. D
ZAC Paris Nord ll
F 93420 Villepinte
Tel: 1 48 63 70 36
Fax: 1 48 63 70 37
Telex: 232 374
128
LEMO (continued)
Germany
Lemosa GmbH
Stahlgruberring 7
D 81829 Munchen
Tel: 089 42 30 65
Fax: 089 4 20 21 92
Telex: 5 216 610
Great Britain
Lemo (U.K.) Ltd
12, North Street
GB Worthing
West Suxxex, BN11 1DU
Tel: 0903 234 543
Fax: 0903 206 231
Holland
Geveke Electronics B.V.
Business Unit Componenten
Donauweg 10
1043 AJ Amsterdam
Tel: 020 5861 540
Fax: 020 5861 985
Hungary
Redel Elektronika Kft
Helsinki ut 51.
H 1201 Budapest XX.
Tel: 38 1 280 15 25
Fax: 38 1 280 16 03
India
Technical Trade Links
Deodhar Centre
Gyani Compound
424, Maroi Maroshi Road
Andherl East
Bombay 400 059
Tel: 22 832 24 12
Fax: 22 837 67 19
Telex: 11792 61
Indonesia
P.T. Gemabangun Pronaperkasa
Kompleks Mangga Dua Plaza
Blok G No 20
Jl. Mangga Dua Raya
Jakarta 10730
Indonesia
Tel: 62 21 612 18 47/48/49
Fax: 62 21 612 00 94
Israel
Italy
Singapore, Malaysia,
Thailand, Philippines
Japan
Lemo Japan Ltd
Kada-Yushima Bldg.
Yushima 3-14-8
Bunko-Ku, Tokyo
113 Japan
Tel: 03 5688 8931
Fax: 03 5688 8930
New Zealand
Connector Systems Ltd
210 Khyber Pass Road
Auckland
Tel: 9 377 4945
Fax: 9 309 1882
Telex: 21 543
Norway
Henaco A/S
Trondhelmsvelen 438
P.O. Box 126 Kaldbakken
N 0902 Oslo 9
Tel: 22 16 21 10
Fax: 22 25 77 80
Portugal
Lusocresa
Rua de Villa Fontes, 33
Oilvala Sul
P 1800 Lisboa
Tel: 01 851 74 32
Fax: 01 851 38 11
Republic of Korea
V.K. Corporation
P.O. Box 393 Yoido
Seol
Tel: 02 784 7081/4
Fax: 02 785 1800
Telex: 28 887
Spain
Cresa SA
Ronda Can Fatjo, 13
Parque Tsonotogico del Valles
08290 - Cerdanyola - Barcelona
Tel: 93 580 90 00
Fax: 93 580 44 33
Sweden
AB D.J. Stork
P.O. Box 1037
S 17221 Sundbyberg 1
Tel: 08 289 215
Fax: 08 627 58 77
Telex: 11 679
Switzerland
Lemo Verkauf A.G.
Grundstrasse 22
CH 6343 Rotkreuz
Tel: 042 644 940
Fax: 042 644 943
Taiwan
Everharmony Enterpr. Inc.
P.O. Box 96-47
Tapei, R.O.C.
Tel: 02 70 70 069
Fax: 02 70 24 723
Telex: 23 914
United States
LEMO USA Inc.
Electronic Connectors
P.O. Box 11488
335 Tesconi Circle
Santa Rosa, California 95406
Tel: 707 578 8811 or
800 444 LEMO
Fax: 707 578 8069
RADIALL
Asia
RADIALL Electronics (ASIA) Ltd
12/F Bing Fu Commercial Building
450-454 Portand Street
Kowloon - Hong Kong
Tel: 852 393 37 22
Fax: 852 393 21 22
Telex: 57072 BISHAHX
Benelux - Scandinavia
United States
RADIALL Inc.
150 Long Beach Boulevard
Stratford, Connecticut 06497
Tel: 203 386 1030
Fax: 203 375 3808
Telex: 311796 RADIALL USA
TROMPETER
ELECTRONICS, INC.
WEIDMULLER, INC. /
PALADIN TOOLS
RADIALL (Finland)
Postbox 43
SF-00751 Helsinki - Finland
Tel: 358 0 339 409
Fax: 358 0 339 450
129
Brazil
RADIALL do Brasil componentes
eletronicos Lda
Av. Beira Mar, 262 - 6 Andar
CEP-20021 Rio De Janeiro
Tel: 55 21 282 13 25
Fax: 55 21 220 36 38
Telex: 2121968 PEPR BR
France
RADIALL
101, Rue Philibert Hoffmann
Zone Industrielle Ouest
93116 Rosny-sous-bois Cedex
Tel: 33 1 49 35 35 35
Fax: 33 1 48 54 63 63
Telex: RADIA 235220
Italy
RADIALL Elettronica S.R.L
Via Concordia 5
I-20090 Assago Milano
Regional offices: Roma
Tel: 2 4 88 25 94
Fax: 2 4 88 43 018
Telex: 350037 EURELI
U.K.
TRANSRADIO Ltd.
10, Perivale Industrial Park
Horsenden Lane South, Perivale
Middlesex UB6 7RL
Tel: 819 978 880
Fax: 819 970 116
Telex: 923004
1210
Notes:
Chapter
13
Use this chapter as a guide when you install a ControlNet repeater
(cat. nos. 1786-RPT, -RPTD). This chapter contains these sections:
Section
About The Repeater
Page
132
133
133
135
136
137
139
Front-panel Controls
1310
Troubleshooting
1311
Agency Compliance
1312
Specifications
1312
132
repeater
segment 2
"
20 to 72V dc
1786-RPTD
This contact:
working properly
will open
133
primary
repeater
contact
CR1
neutral
to backup
repeater
logo,
EMC Directive
The repeater is tested to meet Council Directive 89/336
Electromagnetic Compatibility (EMC) using a technical construction
file and the following standards, in whole or in part:
EN 50081-2 EMC Generic Emission Standard,
Part 2 Industrial Environment
EN 50082-2 EMC Generic Immunity Standard,
Part 2 Industrial Environment
The repeater described in this chapter is intended for use in an
industrial environment.
134
135
9.1mm
(0.36)
8.6mm
(0.34)
19.3mm
(0.76)
9.3mm
(0.38)
215.9mm
(8.5)
196.6mm
(7.74)
197.6mm
(7.78)
12.7mm
(0.5)
50.8mm
(2.0)
101.6mm
(4.0)
136
Use a #14 AWG wire to connect the repeater to the ground bus.
nut
ground lug
20150
137
20150
1786-RPT
1786-RPTD
L1
L2/N
(+)
()
20150
Go to step:
3
no
138
20150
20150
139
segment 1
tap
dust cap
20093-I
2. Remove and discard the dust caps from the repeaters BNC jacks.
3. Connect this taps straight or right-angle connector to the
BNC
tap
20093-I
dust cap
20093-I
1310
tap
tap
20093-I
Front-panel Controls
1
2
3
20150
1
2
3
To:
status indicators
reset switch
replaceable fuse
Troubleshooting
1311
This indicates:
the repeater is being powered-up or reset. The LEDs alternately
flash red and green for about 5 seconds
normal operating mode
red
there is a repeater fault. To clear this state, press the reset switch.
If this does not clear the fault, replace the repeater or troubleshoot
the network
If either is:
flashing green/off
flashing red/off
1312
Agency Compliance
The repeater has been tested and found to comply with the limits for
a Class A digital device, pursuant to part 15 of the FCC Rules.
These limits are designed to provide reasonable protection against
harmful interference in a commercial environment.
The repeater generates, uses, and can radiate radio frequency energy.
To avoid harmful interference to radio communications, observe all
installation instructions provided in this document. Operation of the
repeater in a residential area is likely to cause harmful interference;
if interference occurs, you correct the interference at your own
expense.
Important:
Specifications
1786-RPT, -RPTD
Power
Requirements
1786-RPT
1786-RPTD
Description:
85-250V ac, 47-63Hz, 60mA maximum
110-250V dc, 25mA maximum
20-72V dc, 100mA maximum
Replacement Fuse
1786-RPT
1786-RPTD
Dimensions
Weight
0.87kg (1.9lbs)
0.82kg (1.8lbs)
1786-RPT
1786-RPTD
Agency Certification
(when product or packaging is marked)
Chapter
14
Use the ControlNet Network Access cable (cat. no. 1786-CP) to
connect a programming device to any intelligent device (i.e.,
workstation, PLC processor, scanner or adapter) on ControlNet
through the network access port (
).
1786-CP
programing device
end device
trunkline A
20139
Connections
3.05m
(10)
shield
shield
GND REF
GND REF
+24V DC
+24V DC
7
PTRx_H
6
PTRx_L
5
PTTx_L
4 PTTx_H
3
+24V DC
2
GND REF
1
PTTx_H
PTTx_L
PTRx_L
1
2
3
4
PTRx_H 5
6
+24V DC
7
GND REF
8
142
1786-CP
Do not use the 1786-CP cable to connect
your programming device to ControlNet
two ways simultaneously.
1786-CP
Do not use the 1786-CP cable
to connect a scanner or adapter
module to a PLC processor.
1786-CP
Do not use the 1786-CP cable to
connect two separate ControlNet
segments.
20140
Chapter
15
Use this chapter as a guide when installing a ControlNet coax tap
(cat. nos. 1786-TPR, -TPS, -TPYR, -TPYS). This chapter contains
these sections:
Section
Page
151
152
152
Mounting Dimensions
155
Specifications
156
Important:
Verifying Package
Contents
Make sure you have these items before you discard any packing
material.
dust cap
screws
universal mounting bracket
If an item is missing or incorrect, contact your
Allen-Bradley integrator or sales office.
152
FEP
61.65kg (137lbs)
69.9mm (2.75)
FEP
35.6mm (1.4)
Tap drop-cable
25.4mm (1.0)
Do not mount the tap in a position that routes the dropline cable
over any ac power terminals on nearby modules.
!
Mounting The Tap
Once you have mounted your taps, you can discard any
unused universal mounting brackets.
See page 155 for universal mounting bracket and tap mounting
dimensions.
153
dust cap
dust cap
or
universal mounting
bracket
universal
mounting bracket
DIN rail
20081
suitable
fixture
1492-N22
1492-DR5
1492-N44
1492-DR6
20082
1492-DR7
154
or
body holes
body holes
tie wrap
Important:
Mounting Dimensions
155
Taps
T-tap
Y-tap
30.23mm
(1.19)
35.56mm
(1.40)
15.24mm
(0.60)
33.02mm
1.30
15.24mm
(0.60)
25.4mm
(1.00)
39.37mm
(1.55)
31.37mm
(1.235)
20168
20169
30.94mm 19.05mm
(1.218) (0.75)
11.43mm
(0.45)
20170
156
Specifications
Operating Temperature
Storage Temperature
Relative Humidity
5 to 95% noncondensing
Chapter
16
This chapter is an implementation standard for the ControlNet Coax
Physical Layer. It contains information important to designing the
physical connection to the ControlNet network. All devices that
connect to the ControlNet network must be compatible. Use of this
standard will provide:
Repeatable duplication of the Physical Layer circuitry
Design reuse which cuts development time
Design control
Circuit descriptions are included on page 164. Since different
products or applications will have different mechanical restrictions,
artwork is not included in this chapter, but layout guidelines and
recommendations are. This chapter contains these sections:
Section
Page
162
Requirements
162
Design
164
1622
1624
162
The term Physical Layer as used in this chapter refers to the portion
of the Physical Layer outside of the ControlNet ASIC and includes
the coax transceiver and network access port (NAP) transceiver.
The shaded portion of Figure 16.1 shows the location of the
transceivers in the OSI stack. The ControlNet ASIC contains part of
the ControlNet Physical Layer including clock recovery, redundancy
arbitration, framing, and Manchester encoding/decoding.
Figure 16.1
OSI Stack
Application
Presentation
Session
Transport
Network
Link
Physical
Media
Requirements
System
The Physical Layer is required to support connection to coax media
with network segments of up to 500 meters and allow connection of
up to 32 devices. Connection to redundant coaxial media will be
supported via standard BNC connectors. The characteristic
impedance of the coax cable is 75 Ohms. The Physical Layer is also
required to support local connection of a programming device which
will be using ControlNet protocol and data rates.
163
Functional
To support redundant coax media, two independent coax transceivers
are required which will transmit and receive the Manchester encoded
5 Mbps baseband data. The driver portion of each transceiver
obtains Tx+ and Tx signals from the ASIC, representing physical
one and zero signals, and transmits a singleended, DC isolated
signal on the cable. The complement of this function is performed in
the receiver which provides Rx and carrier detect (CD) signals to the
ASIC.
Local connection to a desktop, laptop, or handheld programming
device is supported through the NAP transceiver. The NAP
transceiver obtains a single transmit line from the ASIC, transmits to,
and receives from, another device at the other end of the NAP cable,
and provides a single receive line back to the ASIC. Note that since
these are single lines, no representation of carrier on/off is present.
These signals are either a zero or a one at all times.
Electrical Performance
For detailed electrical specifications refer to Specifications on
page 1622.
Mechanical/Implementation
Figure 16.2 represents a standard ControlNet front panel.
Figure 16.2
ControlNet Front Panel
A
B
Bicolor LEDs
NAP Connector
Coax Connector A
Coax Connector B
Although the LEDs are not part of the Physical Layer, they are
shown in the figure because they will be on the front panel and,
therefore, need to be included in the electromechanical design.
164
Design
Design Overview
A functional block diagram depicting the ControlNet Physical Layer
components is shown in Figure 16.3. (A schematic of a typical
application is shown in Chapter 45, Example Hardware
Implementation.) The two coax transceivers shown are functionally
independent, but, the actual circuitry has parts common to both.
The NAP transceiver represents both the isolated and nonisolated
implementations. The isolated NAP must be used on programming
devices. The nonisolated NAP would be used on programmed
devices.
Figure 16.3
Physical Layer Block Diagram
RxData
Rcv
RxCarrier
Isolation
Coax
Channel A
TxOut
Xmit
TxOutBar
A Channel
EnabA
Media
Connection
ASIC Interface
RxData
Rcv
RxCarrier
Isolation
TxOut
Coax
Channel B
Xmit
TxOutBar
B Channel
EnabB
Opto
/RxNAP
Isolation
(option)
Rcv
NAP
Opto
/TxNAP
Isolation
(option)
Xmit
EnabNAP
NAP Channel
165
Coax Driver
The following pages describe the Coax Driver:
Section
Page
Simplified Model
below
Interfaces
166
Circuit Description
166
Simplified Model
In the Physical Layer Block Diagram, the blocks labeled Xmit and
isolation combine to represent the coax driver. Figure 16.4 shows
a simplified functional diagram of the coax driver.
Figure 16.4
Simplified Coax Driver
Tx+ = 1
(physical one)
5V
Tx = 1
(physical zero)
The switches shown indicate four states for the powered driver.
When both are open, or off, no signal is presented to the cable.
A physical one is presented to the cable when Tx+ is closed, or on,
and Tx is open, or off. A physical zero is presented to the cable
when Tx+is open and Tx is closed. The state of both switches
closed should never be used.
166
Interfaces
Two signals come from the ControlNet ASIC for controlling
transmission on each channel. These signals are called TxDataOutX
and TxDataBarX, where the X is either A or B and denotes the
channel. These two data signals, when connected to Tx+ and Tx,
define the physical symbols on the wire. There is also an enable line
for the coax driver.
Table 16.A defines the relationship between the coax transceiver
control lines and the data on the wire.
Table 16.A
Transmit Control Line Definitions
TxOut
TxOutBar
Enab
Physical Symbol
Signal on Media
none
none
none
none
+ Voltage
Voltage
not allowed
Not allowed
Circuit Description
The coax driver is made up of a CMOS predriver pair, transistor
driver pair, and the transformer. The series Schottky diodes and over
voltage diodes will be discussed later in this section.
The predriver pair is 1/2 of a 74ACT08. This device allows the
combination of the data and enable signals and provides the base
drive required by the drive transistors.
The transistor driver uses a pair of MMBT2369 transistors. These
are high speed switches selected for their performance.
The series base resistors define the required base drive and the shunt
base resistors reduce turn off time. The base capacitors provide slew
rate limiting which improves radiated emissions slightly.
The transformer couples the transmit signal to the media. Each side
of the driver pair controls one side of the center tapped transformer,
such that the driver operates in a push pull configuration. The
voltage presented to each side of the driver is 4.2 typical (at
Vcc=5V) and 4.7 maximum (at Vcc=5.5V). This corresponds to a
peak driver output current (into 37.5 Ohms) of about 110 mA typical
and about 125 mA maximum. The total peak supply current then
including the base drive is about 140 mA.
167
Coax Receiver
The following pages describe the Coax Receiver:
Section
Page
Simplified Model
below
Interfaces
168
Circuit Description
168
Simplified Model
Shown below is a simple block diagram of the receiver with example
waveforms to describe its operation. Two high-speed differential
line receivers are used to detect data and to generate carrier detect.
Since the data signals are equal magnitude and opposite polarity, the
receive data threshold is set for zero volts. The CD threshold is set
slightly higher (about 140 mV) to provide between packet noise
immunity.
Figure 16.5
Simplified Receiver
Rx +
Rx
Rx
CD
V th
V th
Rx
CD
168
Interfaces
Two signals are provided to the ASIC from the Physical Layer; data
and carrier detect. These are connected to the ASIC RxDataX and
RxCarrierX pins respectively where X is the channel. Table 16.B
shows the relationship between the signal voltage on the wire and the
two receiver outputs for nominal thresholds.
Table 16.B
Receiver Output Definitions
Input Voltage at BNC
Rx Data
Rx Carrier
undefined
undefined
undefined
undefined
510mV< Vin
Circuit Description
The receiver circuitry is conceptually simple. The complexity arises
in controlling the detection thresholds. Below is a schematic reduced
to include just the important components of the Rx data detector.
Figure 16.6
Rx Data Detector
5V
coax connector
Rx Carrier
+
differential comparator
isolation
transformer
Rx Data
169
Rx Carrier
+
The CD signal looks just like the data signal at high signals. At low
signal levels it looks similar, except that the CD one pulse widths
are more narrow than those of the data. When no signal is present
the CD output is low, unlike the data which is undefined and could
be changing state with noise.
1610
Media Coupling
This section discusses how the driver and receiver are connected to
the cable and what measures are taken to protect the transceiver from
conditions on the media, and, to protect the media from conditions
on the transceiver. This section includes information on:
transformer coupling
over voltage diodes
Schottky diodes
cable loading
Transformer
Transformer Coupling was selected to provide ground isolation.
This prevents low frequency signal paths from developing through
the communication equipment. A number of alternatives were
considered for the transformer design. Following are parameters
which were deemed important to the design:
Small size
Low cost
High terminal impedance
Wide band width
Low loss
Reliability
Over Voltage Diodes
To prevent fast, high voltage transients from exceeding component
ratings, zener diodes are included to limit the upper and lower
voltage excursions. Small signal diodes are placed in series with the
zeners to reduce the capacitive loading from the zeners and to allow
each zener to protect both sides of the differential lines.
1611
Schottky Diodes
Without Schottky diodes, when the transceiver power is turned off, a
low impedance is presented to the transformer, and therefore, to the
cable. This low impedance is from the series combination of the
drive transistor basecollector junction, the base resistor to ground,
and the cumulative load from 5 V to ground. The solution is to place
a diode in this path opposite in polarity to the driver basecollector
junction.
Also, if the negative voltage zener clamp was replaced with just a
small signal diode clamp to ground, this small signal diode would
also load the transformer. One solution to this problem is to put the
diode in the center tap, using just one part to take care of both sides
of the driver. This solution will not work in this case because the
receiver is on the same winding, producing a lower resistance. This
resistance turns on the driver basecollector junction, producing a
low dynamic impedance. The impedance it presents to the
transformer parametrically drops with increasing signal level.
The alternative solution is diodes in series with each transistor
collector. Low forward voltage Schottky diodes were used to keep
transmit losses to a minimum.
Cable Loading
One of the most important jobs for the transceiver is to load the cable
as little as possible. This fact is pervasive throughout this design
description. A number of references to loading have been made,
including:
low capacitance on the driver outputs
high impedance on the transformer
small signal diodes in series with the zener diodes to reduce
capacitance
diodes in series with the driver outputs to prevent loading when
power is off
high input impedance on the receiver
1612
2
50/75 Ohm
Pads
1 meter
Tap
Xcvr
RG62
Page
User Requirements
below
Technical Requirements
1616
1618
Circuit Description
1618
1619
ATPT Design
1619
1619
Specifications
1620
User Requirements
This section contains requirements which were used as the basis for
the network access port design. Described are the expected uses and
applications of network access ports for the ControlNet network.
It is necessary to access network devices for programming purposes
through the use of a programming terminal (PT). PTs can be
desktop, laptop portable, or handheld units like those currently
offered by Allen-Bradley. The term HHPT is used in this chapter to
describe any handheld PT. The term ATPT is used to describe any
computer-based PT, including laptop and desktop units. The AT
reference also includes any non-AT platform which might be used,
such as EISA, PCI, or PC card.
1613
1614
Figure 16.9
Local Programming
Programming
Direction
Node
ATPT
Programming
Direction
Node
HHPT
Figure 16.10
Remote Programming using ATPT
Programming
Direction
Node
ATPT
Programming
Direction
Node
Node
ATPT
1615
Programming
Direction
Node
Node
HHPT
Programming
Direction
ATPT
Node
HHPT
Table 16.C shows the relationship between the three types of devices
and the requirements of each.
Table 16.C
Device Definitions
Description of Requirement
Gets programmed
Node
ATPT
Does programming
Supports local connection (NAP)
HHPT
1616
1617
Node
ATPT
1618
1619
1620
Specifications
Mechanical
Electrical
Signal Name
GND REF
24 VDC
PT TX_H
PT TX_L
PT RX_L
PT RX_H
24 VDC
GND REF
Specifications for the ASIC interfaces are defined in the ASIC specification. The
specifications for the NAP interface is summarized below. These specifications apply to
both the NAP and node equipment (except as noted) and are defined at the NAP interface
connector:
Cable
Transmitter End
Receiver End
1621
Layout Guidelines
Following are several suggestions for layout which may help
performance for radiated emissions, susceptibility, and ESD.
(Refer to Chapter 45, Example Hardware Implementation, for
schematics.)
Use a chassis ground plane on both sides of the board along the
edge with the connectors.
Minimize interruptions to the plane. Make sure it extends beyond
the cable side of the transformer with a conductor between the
primary and secondary.
Keep the BNC connector, the transformer, and the shield R and C
close together so that one small opening in the plane can
accommodate all three as in Figure 16.13.
Figure 16.13
PCB Layout
1
PT connector
transformers
chassis
GND
R
C
R
C
mounting
screw to chassis
BNC connectors
TOP VIEW
1622
Design Specification
Bit Rate
10 Mb/sec +/ CA
100nsec +/ CA
60.0MHz
Crystal Accuracy(CA):
+/120ppm
Make Tolerance
+/50ppm
Temp. Stability
+/50ppm
Aging
+/10ppm
Osc. Stability
+/10ppm
Modulation
Baseband
Data Encoding
Manchester Biphase L
Delimiters
Data Offset
DC Balanced
Total
Table 16.F
Media Interface General Characteristics
Media Interface / General Characteristics
Design Specification
Coupling
Transformer Coupled
Communication Connector
BNC
Short Circuit
Gnd Isolated
1623
Table 16.G
Media Interface Transmit Characteristics
Media Interface / Transmit
Characteristics
Design Specification
Comments
Output Level
8.2 volts pp
Output Tolerance
+/ 1.3 volts
< +/ 450mV
peak(+) | peak() |
+/ 10%
< 5 nsec pp
Silence Level
5 mV
Tx Turn Off
400 nsec
< 1 V / nsec
< 60 nsec
10 to 90% of pp
The output level is measured at the estimated midpoint between any peaks or troughs in the top
a eform
and bottom of the waveform
Levels are a function of the actual measured output voltage
Table 16.H
Media Interface Receiver Characteristics
Media Interface / Receiver
Characteristics
Design Specification
510 mV pp
receiver hysteresis
50 mV typ
510 mV pp max
45 mV pp min
Rx Pattern Jitter
30 nsec pp max
+/ 12 volt
Inside of eye
Measured on media
Table 16.I
Transceiver Interface
Transceiver Interface
Design Specification
TxDataOut, TxDataBar
Drive
4 mA
Tx Duty Cycle
50 +/ 2%
Rx Pattern Jitter
40 nsec pp max.
RxData
RxCarrier
1624
The figure below shows the ControlNet newtork access port cable.
The NAP cable connectors are installed so that the signal lines are
reversed to allow the correct connection. This allows the equipment
to use the same pinout independent of function.
ControlNet node
8 Pin RJ45 connector
8
7
6
5
4
3
2
1
SHIELD
GND REF
+24VDC
PTRx_H
PTRx_L
PTTx_L
PTTx_H
+24VDC
GND REF
8
7
6
5
4
3
2
ControlNet
Node
8
7
6
5
4
3
2
1
SHIELD
GND REF
+24VDC
PTRx_H
PTRx_L
PTTx_L
PTTx_H
+24VDC
GND REF
8
7
6
5
4
3
2
1
Programming Terminal or
ControlNet End Node
Chapter
17
Page
171
Switches
176
Product Labeling
177
177
ControlNet Terminology
179
LED Requirements
The ControlNet network requires a product to support two categories
of status LEDs and must adhere to the specifications described in this
chapter. The two categories are:
Module Status
ControlNet Status
ControlNet developers are free to have additional LEDs on their
products, if they so desire.
172
Important:
LED is:
To indicate:
No Power
Off
Device Operational
Green
Device in Standby
(The Device Needs
Commissioning)
Flashing Green
Minor Fault
Flashing Red
Recoverable Fault
Unrecoverable Fault
Red
Flashing Green
Any LED colors or states not defined in Table 17.A are reserved and
must not be used.
For information about Module Status LED indications during
power-up, refer to page 175.
173
Figure 17.1
States of the Module Status LED
Power Off
LED Off
Power Applied
Fail
Pass,
Commissioning
Needed
Pass, No
Commissioning
Needed
Commissioned Properly
Device Operational
Needs Commissioning
Green On
Non-recoverable Error
Flashing Green
Non-recoverable Error
Unrecoverable Fault
Fail, Non-recoverable Error
Red On
Recoverable Fault
Non-recoverable Error
Flashing Red
174
alternating
red/green
alternating red/off
Cause
no power
faulted unit
self-test
Action
none or power up
cycle power or reset unit
If fault persists, contact A-B
representative or distributor.
none
incorrect node
configuration
off
Cause
channel disabled
Action
program network for redundant
media, if required
steady green
normal operation
none
flashing
fla
hing green
green/off
off
temporary errors
node is not
configured to go
on line
media fault
no other nodes
present on
network
incorrect network
configuration
or
flashing red/off
flashing red/green
The Configuration Manager node is the node responsible for distributing ControlNet
configuration data to all nodes on the network.
175
LEDs at Power Up
During power up, the hardware should turn the LEDs on to a fault
state (red). If the LED does not have a fault state, then it should be
Off. However, field I/O points should indicate a true state.
Important:
After completion of power up, the firmware should return the LEDs
to a normal operational state.
LED is:
To indicate:
Outputs Inactive
Inputs Inactive
Off
Outputs Active
Green
Outputs Idle
Flashing Green
Outputs Faulted
Flashing Red
Red
Inputs Active
Inputs Faulted
Outputs Forced Off
Input Unrecoverable
Fault
176
Switches
177
Software Overrides
Switch software overrides are necessary for some products. In this
case the switch may be used for a factory default.
An operator must quickly determine if a switch setting is valid. If an
override condition exists, the switch must have an indication of
override (LED or other indication/legend).
Product Labeling
A
A
B
italicized words = optional labeling
Also, when referring to the Network Access Port (NAP)), use this
symbol:
.
General Publication
Guidelines
Do
trademark ControlNet the first time its used in text (no TM in
title) in the publication (add ControlNet to trademark section of
your document)
use the terminology defined substitutions will only confuse
users and translators
make sure you order installation tasks in the order they should be
performed (RIO tasks first, followed by DH+ and ControlNet
tasks)
178
Do not
discuss cable system requirements, refer to Chapters 7-11
use ControlNet as a noun as a trademark it is an adjective that
should be followed by a noun (i.e., ControlNet network,
ControlNet messaging, ControlNet link)
abbreviate the word ControlNet (CNet, CN, etc.)
refer to channel A and channel B connections as main/primary
and redundant; both channels are equal and offer the user the best
signal
refer to a redundant network
ControlNet Terminology
179
To describe:
1710
To describe:
Chapter
18
This chapter covers the management, definition, syntactic
representation and transmission encoding rules of data. This chapter
contains these sections:
Section
Page
Related Documents
182
Definitions
182
Compliance
183
184
184
Operations
187
188
1814
1818
1821
1822
Array Encoding
1827
Structure Encoding
1829
This chapter specifies the ranges of values and defined operations for
the data types to be used in standards and compliant functional units.
These include the data types and associated operations specified in
IEC 1131-3 (Programmable Controller Languages), as well as
standard extensions. Means are also defined for the specification of
additional data types and associated operations as necessary for
standards and compliant functional units.
IEC 1131-3 specifies additional documentation and compliance
requirements beyond those defined in this chapter, which apply only
to data types. Read and understand IEC 1131-3, when applying this
chapter.
182
Related Documents
Definitions
Compliance
183
All components of the system must comply with this chapter on all
data management issues. This ensures interoperability between
system components.
Standards
Any standard which defines data types in addition to those defined in
this chapter must use the extension mechanisms defined in this
chapter.
Functional Units
To comply with the provisions of this chapter, the specification of a
compliant functional unit must contain the following information:
Abstract Syntax
To comply with the provisions of this chapter, the specification of a
compliant functional unit contains the following information:
A list of the data types defined in Abstract Syntax
Specification, beginning on page 1814, which are supported by
the functional unit;
Definitions of additional data types supported by the functional
unit, in the format specified in Abstract Syntax Specification,
beginning on page 1814;
A statement of which (if any) of the mechanisms specified in
Abstract Syntax Specification, beginning on page 1814, for
user-defined data types are supported by the functional unit;
184
This section describes the data type specification syntax, data type
value ranges and operations that can be performed on the defined
data types. Included in this section are:
Data Type Specifications
Abstract Syntax Specification
ControlNet Transfer Syntax/Application Layer Encoding Rules
The specification of a data type comprises:
the range of values that variables of the type may take on, and
the operations performed on these variables
This chapter specifies elementary and derived data types
corresponding to IEC 1131-3. Also, because the function blocks
defined in IEC 1131-3 have both an associated data structure and a
set of defined standard operations, these elements are also specified
as data types in this chapter.
185
Table 18.A
Elementary Data Types
Keyword
Range
Description
Minimum
Maximum
BOOL
Boolean
NOTE 1
SINT
Short Integer
-128
127
INT
Integer
-32768
32767
DINT
Double Integer
-231
231-1
LINT
Long Integer
-263
263-1
USINT
255
UINT
Unsigned Integer
65536
UDINT
232-1
ULINT
REAL
0
NOTE 2
264-1
LREAL
Long float
NOTE 3
ITIME
Duration (short)
NOTE 13
TIME
Duration
NOTE 4
FTIME
NOTE 5,6
LTIME
Duration (long)
NOTE 6,7
DATE
Date only
NOTE 8
TIME_OF_DAY or TOD
Time of day
NOTE 9
DATE_AND_TIME or DT
NOTE 10
STRING1
STRING2
NOTE 11
NOTE 6,11
STRINGN
BYTE
WORD
DWORD
LWORD
NOTE 6,11
NOTE 12
NOTE 12
NOTE 12
NOTE 12
The possible values of variables of type BOOL 0 and 1, corresponding to the keywords FALSE and TRUE, respectively
The range of values for variables of type REAL are defined in IEEE 754 for the basic single floating-point format.
3 The range of values for variables of type LREAL are defined in IEEE 754 for the basic double floating-point format.
4 The range of values for variables of type TIME is the same as for variables of type DINT, representing the time
duration in milliseconds, i.e., a range of T#-24d20h31m23s648ms to T#24d20h31m23s647ms.
5 The range of values for variables of type FTIME is the same as for variables of type DINT, representing the time
duration in microseconds, i.e., a range of T#-35m47s483.648ms to T#35m47s483.647ms.
6 This is a standard extension to IEC 1131-3.
7 The range of values for variables of type LTIME is the same as for variables of type LINT, representing the time
duration in microseconds, i.e., a range of T#-106751991d4h0m54s775.808ms to T#-106751991d4h0m54s775.807ms.
8 The range of values for variables of type DATE is from D#1984-01-01, as specified in subclause 7.6.1 of ISO 9506/2
(MMS), to D#2163-06-06 (a total range of 65536 days).
9 The range of values for variables of type TIME_OF_DAY is from TOD#00:00:00.000 to TOD#23:59:59.999 to a
resolution of 1 millisecond.
10 The range of values for variables of type DATE_AND_TIME is from DT#1984-01-01-00:00:00.000 to DT#2163-06-06-23:59:59.999.
11 String data types are defined below.
12 Values of bit string data types is in the range 2#b b ...b b b , where N is the number of bits in the bit string,
N-1 N-2 2 1 0
bN-1 is the most significant bit, and b0 is the least significant bit. The value of the j-th bit bj is represented as 0 or 1,
corresponding to the Boolean value FALSE or TRUE, respectively.
13 The range of values for variables of type ITIME is the same as for variables of type INT, representing the time
duration in milliseconds, i.e., a range of T#-32s768ms to T#32s767ms.
2
186
Figure 18.1
Examples of structured bit string type declarations
TYPE MOTOR_STATUS: BYTE
END_TYPE
END_TYPE
Bits which are not assigned names cannot be accessed in variables of the defined type.
187
Function Blocks
The means of specifying the data structures and operations of
function blocks are defined in subclause 2.5.2.2 of IEC 1131-3.
IEC 1131-3 Compliance, which begins on page 188 of this
document, lists the language features necessary to support this style
of specification.
Operations
Elementary Operations
The elementary operations on data types are:
Read/write access to single-element variables and to individual
elements of multi-element variables, as specified in subclauses
2.4.1 of IEC 1131-3.
IEC standard functions specified in subclause 2.5.1.5 of IEC
1131-3
The Structured Text (ST) operators defined in subclauses 3.3.1
(expression evaluation) and 3.3.2.1 (assignment) of IEC 1131-3
188
189
Compliance Statement
This system complies with the requirements of IEC 1131-3 for the
following language features:
common elements
structured text (ST) language elements
Table 18.B
Common elements
Table/ Feature
Feature description
10/1
10/2
10/3
10/4
10/5
10/6
10/7
10/8
10/9
10/10
10/11
10/12
10/13
10/14
10/15
10/16
10/17
10/18
10/19
10/20
12/1
12/2
12/3
12/4
12/5
13
Subclause
2.5.1.3
User-declared functions
(no table entry)
22/1
Type conversions
22/2
TRUNC function
22/3
BCD_TO_** functions
22/4
*_TO_BCD functions
23/1-11
24/
12n-18n
1810
Table/ Feature
Feature description
24/
12s-15s,
17s,18s
25/1-4
26/
5s-8s
26/
5s-7s
27/1-4
28/5n-10n
28/5s-10s
29/
1-9
30/
1-14
31/1-4
32
33/8a,8b,9a,9b
34/1-3
35/1,2
36/1-3
37/1,2a,
3a, 4
55/
1-17
Table 18.C
Structured Text language elements
Table/Feature
Feature description
55/
1-17
56/2
1811
Table 18.D
Type conversion operations
(Refer to the notes following this table.)
Operation
Result
Error conditions
ANY_BIT_TO_ANY_BIT
(NOTE 4)
None
ANY_BIT_TO_ANY_INT
ANY_BIT_TO_BOOL
FALSE if IN = 0
None
TRUE otherwise
ANY_BIT_TO_STRING
(NOTE 6)
None
ANY_DATE_TO_STRING
(NOTE 7)
None
ANY_INT_TO_BOOL
FALSE if IN = 0
None
TRUE otherwise
ANY_NUM_TO_ANY_
INT
IN (NOTE 8)
ANY_NUM_TO_ANY_
REAL
IN
(NOTE 9)
ANY_NUM_TO_DATE
(NOTE 10)
ANY_NUM_TO_STRING
(NOTE 11)
ANY_NUM_TO_TIME
(NOTE 12)
ANY_NUM_TO_TOD
(NOTE 13)
ANY_REAL_TO_BOOL
FALSE if IN = 0.0
None
TRUE otherwise
BOOL_TO_ANY_BIT
0 if IN = FALSE
BOOL_TO_ANY_INT
1 if IN = TRUE
BOOL_TO_ANY_REAL
0.0 if IN = FALSE
None
None
1.0 if IN = TRUE
BOOL_TO_STRING
FALSE if IN = FALSE
None
TRUE if IN = TRUE
DATE_TO_ANY_NUM
(NOTE 14)
TIME_TO_ANY_NUM
(NOTE 16)
TOD_TO_ANY_NUM
(NOTE 17)
STRING_TO_ANY
Converted data
(NOTE 15)
1812
Notes:
1
Use of the generic data types ANY_NUM, ANY_REAL, ANY_INT and ANY_BIT defined in subclause 2.3.2
of IEC 1131-3 is intended to imply a family of conversions. For instance, the conversion
BOOL_TO_ANY_REAL is intended to imply BOOL_TO_REAL and BOOL_TO_LREAL.
2
IN refers to the value of the input variable of the type conversion function.
OUTmin and OUTmax refer to the minimum and maximum values of the output data type of the conversion
function, as defined in Table 1
4
In conversions of bit string types, if the number of bits in the input variable IN is less than the number of
the bits in the output variable OUT, the bits of the input is copied to the corresponding least significant bits of
the result and the remainder of the result is zero-filled. If the number of bits of IN is greater than the number
of bits of OUT, the least significant bits of IN is copied to the corresponding bits of the result. For instance,
BYTE_TO_WORD(16#FF) = 16#00FF
and
WORD_TO_BYTE(16#0FF0) = 16#F0
5
The result of conversion of a bit string variable to type STRING consists of a string containing the base 16
literal representation of the variable value, as defined in subclause 2.2.1 of IEC 1131-3, in characters taken
from the ISO 646 character set.
7
The result of conversion of a date and/or time of day variable to type STRING consists of a string
containing the literal representation of the variable value, as defined in subclause 2.2.1 of IEC 1131-3, in
characters taken from the ISO 646 character set.
8 Conversion of REAL and LREAL to integer types is accomplished by rounding as specified in subclause
Rounding errors may occur if the number of significant bits in the input variable is larger than the number
of significant bits in the output floating-point representation. Also, range errors of the type noted for
ANY_NUM_TO_ANY_INT may occur in LREAL_TO_REAL.
10
Conversion of a variable of a numeric type to DATE has the same result as conversion of the variable to
UINT, with the result being interpreted as the number of days since 1984-01-01.
11
Conversion of a variable of a numeric type to type STRING consists of a string containing the literal
representation of the variable value, as defined in subclause 2.2.1 of IEC 1131-3, in characters taken from
the ISO 646 character set.
12
Conversion of a variable of a numeric type to TIME has the same result as conversion of the variable to
DINT, with the result being interpreted as a duration in milliseconds.
13
Conversion of a variable of a numeric type to TOD has the same result as conversion of the variable to
UDINT, with the result being interpreted as a time since midnight in milliseconds.
14 Conversion of a variable of type DATE to a numerical type is the same as the conversion of a variable of
type UINT to the corresponding numerical type, with the result being the numerical equivalent of the days
since 1984-01-01.
15 It is an error if the STRING data to be converted is not in the format for external representation of the
output data type as specified in subclause 2.2 of IEC 1131-3, or if the result of the conversion is outside the
range {OUTmin..OUTmax}.
16 Conversion of a variable of type TIME to a numerical type is the same as the conversion of a variable of
type DINT to the corresponding numerical type, with the result being the numerical equivalent of the
corresponding time interval expressed in milliseconds.
17 Conversion of a variable of type TOD (TIME_OF_DAY) to a numerical type is the same as the
conversion of a variable of type UDINT to the corresponding numerical type, with the result being the
numerical equivalent of the time since midnight expressed in milliseconds.
18 Type conversions on variables of types STRING2, ITIME, FTIME and LTIME are being considered.
1813
Implementation-dependent Parameters
Table 18.E. lists the Values of implementation-dependent
parameters from Table D.1 of IEC 1131-3. that are defined in this
chapter. Values of other implementation-dependent parameters are
defined in other standards or in the specifications of individual
functional units as appropriate.
Table 18.E
Values of implementation-dependent parameters
Clause of
IEC 1131-3
Parameter
Value
2.2.3.1
2.3.1
1 millisecond
2.3.3.1
256
2.3.3.2
256
65536
0..255
2.5.1.5
2.5.1.5.1
2.5.1.5.2
2.5.2.3.3
0, 65535
2.4.1.2
1814
Language Extensions
The table below lists the extensions to IEC 1131-3 defined in this
chapter. When these extensions are used in a particular compliant
functional unit, the subclause references in this table are replaced by
references to the descriptions of the corresponding extensions in the
functional units documentation.
Table 18.F
Standard extensions to IEC 1131-3
Abstract Syntax
Specification
Subclause
Description
2.1.1
2.1.4
2.2
2.2.4.1
2.2.4.2
The lower layers of open system architectures are concerned with the
transport of user data among distributed functional units. In these
layers, the user data is regarded as a sequence of octets. However,
application layer entities may manipulate the values of complex data
types. To achieve independence between the application layer and
lower layers, data types are specified in an abstract syntax notation.
Supplementing the abstract syntax with one or more algorithms
(called encoding rules) determines the values of the lower layer
octets which carry the application layer values. The combination of
the abstract syntax with a single set of transfer rules produces a
specific transfer syntax.
Important:
The abstract definitions that follow comprise the set of Data Types.
You can also extend or derive new data types based on existing
defined types, and include those in a type dictionary.
1815
Data Specification
The notation [typeId] for directly derived, enumerated, subrange and
structured bit string data means that the tag is to be taken from the
type field in the corresponding VariableDictionaryEntry.
1816
[typeId] ControlNetData
[typeId] USINT
[typeId] FixedLengthInteger
SINT
INT
DINT
LINT
TIME_OF_DAY
1817
IMPLICIT SEQUENCE {
UINT,
string1contents
OCTET STRING}
-- IECSTRING, one octet / character
BYTE
WORD
IMPLICIT SEQUENCE {
charcount UINT,
string2contents
OCTET STRING} --
2 octets/ character
controlInputs
controlOutputs
1818
Data Type
Specification/Dictionaries
1819
starting
Bit Position.
Trailing
octet
contains the number of
bits.
ExpandedString1TypeSpec ::= UINT- String Length In Octets
ExpandedString2TypeSpec ::= UINT- String Length In Octets
1820
of baseType values
IMPLICIT
IMPLICIT
IMPLICIT
IMPLICIT
FbtElementSpec OPTIONAL,
FbtElementTypeSpec OPTIONAL,
FbtElementTypeSpec OPTIONAL,
FbtElementTypeSpec OPTIONAL}
1821
This section describes the means by which the data types defined in
Abstract Syntax Specification, beginning on page 1814, are
encoded/transferred across the communication system. The abstract
syntax definition along with a particular set of encoding rules results
in a transfer syntax. For application user data, a single set of
encoding rules is defined (Compact Encoding), resulting in the
Compact transfer syntax.
Compact Encoding rules start with the encoding rules defined in
ASN.1 8825. Compact Encoding then applies optimization rules,
starting with the outer most Service Data Unit (SDU) and
progressing to each successive encapsulated SDU. Compact
Encoding defines a more efficient encoding mechanism by reducing
the amount of information (overhead) transferred between devices.
The difference between a Compact encoded value and an ASN.1
encoded value is the removal of the fields describing the type and
length of the information. In other words, the TAG and LENGTH
components of an ASN.1-encoded value are not transmitted on the
communication system. In addition, the Compact Encoding rules
indicate that octet ordering rules are the reverse of those seen in
ASN.1.
The following general rules apply to an ASN.1 encoded value for
generating a Compact encoded value. Refer to Compact Encoding
Constraints.
Remove the Identifier Octets. Remove the TAG octets
specified by ASN.1.
Remove the Length Octets. Remove the LENGTH octets
specified by ASN.1.
Reverse the byte ordering for multiple content octets.
1822
This section lists rules specific to the various data types implemented
in the system and shows examples of the Compact Encoding.
BOOL Encoding
The boolean encoding is performed on a single OCTET.
If the value is:
Then:
FALSE
TRUE
1st
BOOL
00
SignedInteger Encoding
This section gives you examples of the Compact Encoding of SINT,
INT, DINT and LINT data values. A generic illustration of the
encoding of SignedInteger values is given below:
Octet Number
1st
2nd
3rd
4th
SINT
0LSB
INT
0LSB
1LSB
DINT
0LSB
1LSB
2LSB
3LSB
LINT
0LSB
1LSB
2LSB
3LSB
5th
6th
7th
8th
4LSB
5LSB
6LSB
7LSB
Octet Number
1st
2nd
3rd
4th
DINT
78
56
34
12
1823
UnsignedInteger Encoding
This section gives you examples of the Compact Encoding of
USINT, UINT, UDINT and ULINT data values. A generic
illustration of the encoding of UnsignedInteger values is given
below:
Octet Number
1st
2nd
3rd
4th
USINT
0LSB
UINT
0LSB
1LSB
UDINT
0LSB
1LSB
2LSB
3LSB
ULINT
0LSB
1LSB
2LSB
3LSB
5th
6th
7th
8th
4LSB
5LSB
6LSB
7LSB
1st
2nd
3rd
4th
UDINT
DD
CC
BB
AA
FixedLengthReal Encoding
This section gives you examples of the Compact Encoding of REAL
and LREAL data values. Refer to the table below for a generic
illustration of the encoding of FixedLengthReal values:
Octet Number
1st
2nd
3rd
4th
REAL
0LSB
1LSB
2LSB
3LSB
LREAL
0LSB
1LSB
2LSB
3LSB
5th
6th
7th
9th
4LSB
5LSB
6LSB
7LSB
REAL:
Sign:
1 bit
Exponent: 8 bits
Mantissa: 23 bits
71
exponent
71
fraction
3LSB
2LSB
81
fraction
81
fraction
1LSB
0LSB
1824
Figure 18.3
Format of Eight Byte Floating Point Value
8
71
sign
exponent
exponent
7LSB
LREAL:
Sign:
1 bit
Exponent: 11 bits
Mantissa: 52 bits
41
85
fraction
6LSB
81
fraction
81
fraction
5LSB
4LSB
81
fraction
81
fraction
3LSB
81
fraction
2LSB
81
fraction
1LSB
0LSB
In all cases the sign is encoded by using bit 8 of the most significant
byte. It is followed by the the exponent starting from bit 7 of the
most significant byte. The mantissa starts from bit 7 of the 2LSB
for simple precision and from bit 4 of the 6LSB for double precision.
The encoding of the mantissa value and the exponent value is
described in the ANSI/IEEE/754 standard.
The example below illustrates the encoding of a variable (Float1)
whose type is REAL and whose value is Float1: = 10.0.
(The assignment of the value is using the IEC 1131-3 notation.
The ASN.1 value is {41200000H} in IEEE format (1.25*23 ,
exponent is 130 (bias 127), fraction is 25)).
Table 18.J
Example Compact Encoding of a REAL Value
Octet Number
0LSB
1LSB
2LSB
3LSB
REAL
00
00
20
41
Octet Contents
0LSB
1LSB
2LSB
3LSB
4LSB
5LSB
6LSB
7LSB
LREAL
00
00
00
00
00
00
59
C0
1825
AnyTime Encoding
This section gives you examples of the Compact Encoding of TIME,
DATE, TIME_OF_DAY, DATE_AND_TIME, FTIME, LTIME and
ITIME data values. Refer to the table below for a generic illustration
of the encoding of FixedLengthReal values.
Octet Number
1st
2nd
3rd
4th
5th
6th
7th
8th
TIME
0LSB
1LSB
2LSB
3LSB
DATE
0LSB
1LSB
TIME_OF_DAY
0LSB
1LSB
2LSB
3LSB
DATE_AND_TIME
0LSB
1LSB
2LSB
3LSB
4LSB
5LSB
6LSB
7LSB
FTIME
0LSB
1LSB
2LSB
3LSB
4LSB
5LSB
6LSB
7LSB
LTIME
0LSB
1LSB
2LSB
3LSB
4LSB
5LSB
6LSB
7LSB
FTIME Encoding
FTIME is a 64-bit value that represents a microsecond tick count
from any arbitrary time. Use FTIME Encoding as the data type of the
Coordinated System Time value. The example below illustrates the
encoding of a CST value of 00000000204533ABhex.
Table 18.L
Example Compact Encoding of a FTIME Value
Octet Contents
FTIME
AB
33
45
20
00
00
00
00
LTIME Encoding
Octet Contents
0LSB
1LSB
2LSB
3LSB
4LSB
5LSB
6LSB
7LSB
LTIME
80
AF
59
44
3E
7A
01
00
1826
AnyString Encoding
This section gives you examples of the Compact Encoding of
STRING1 and STRING2 data values.
Important:
Contents
(charcount)
STRING1
Contents
(string1contents)
0LSB
1LSB
0LSB
1 byte character
Contents
(string1contents)
STRING2
0LSB
1LSB
0LSB
1LSB
2 byte character
Contents
(string1contents)
04
4D
STRING1
00
69
6C
6C
Table 18.O
Example Compact Encoding of String2 contents
Contents
Contents
(charcount) (string2contents)
STRING2
04
00
4D
00
69
00
6C
00
6C
00
Array Encoding
1827
The array encoding uses the encoding rules for the Data types for
each element and concatenates the elements which compose the
array. The encoded values of the array elements are encoded in the
same order as they are declared in the corresponding ASN.1 type or
variable specification. These elements may be of any Data type.
Array definitions follow FIP and FieldBus standards.
The ASN.1-style definition of a single-dimensional array in a
network is:
ARRAY ::= SEQUENCE OF
{
array_dimension_low_bound,
array_dimension_high_bound,
ControlNetData
}
Plugging the UINT values {1,2} into this array definition yields the
following encoding:
Table 18.P
Example Compact Encoding of a Single Dimensional
ARRAY
Octet Number
1st
2nd
3rd
4th
ARRAY
01
00
02
00
1828
Table 18.Q
Example Compact Encoding of a Multi-Dimensional ARRAY
Octet Number
1st
2nd
3rd
4th
5th
6th
7th
8th
9th
ARRAY
01
00
02
00
03
00
04
00
05
06
00
Structure Encoding
1829
The structure encoding uses the encoding rules for the data types for
each element and concatenates the elements which compose the
structure.
The encoded values of the structure elements are encoded in the
same order as they are declared in the corresponding ASN.1 type or
variable specification. These elements may be of any data type.
STRUCT ::= SEQUENCE OF ControlNetData -- May be different
types
Since Data may be comprised of either ElementaryData or
DerivedData, a new type or variable specification may be required
before transmitting the values for the STRUCT.
Assume the following structure definition:
newStruct ::= SEQUENCE { BOOL,UINT,DINT}
1st
01
2nd
34
3rd
12
4th
BC
5th
9A
6th
78
7th
56
1830
{
UINT
ele1;
USINT ele2;
USINT ele3;
USINT ele4;
UINT ele5
}
{ 1, 2, 3, 4, 5 },
6, 7, 8, 9, 10 },
11, 12, 13, 14, 15 } },
{ 15, 14, 13, 12, 11 },
10, 9, 8, 7, 6 },
5, 4, 3, 2, 1 } } }
STRUCT2 :=
{
UINT ele1;
ARRAY [ 0..2 ] of USINT array2;
UINT ele5;
}
{
1, { 2, 3, 4 }, 5
}
Chapter
19
This chapter gives you an overview of an object specification.
You can find detailed object specifications (definitions) in
Appendix A. This chapter contains these sections:
Section
Page
191
191
192
Class-specific Services
198
192
Understanding An Object
Specification
connection it is opened.
instance - A specific and real (physical) occurrence of the object.
For example: California is an instance of the class state.
message - A signal to an object requesting the receiving object to
carry out one of its services. A message consists of two parts:
the service it is to carry out and any parameters the service
requires. A reply message delivers the results of the service to
the original requestor.
object - A collection of data, services and behavior which model
a concept.
service - Operation or function that an object performs when
requested. The request and response is delivered via a message.
Request
Behaviors
Response
Attributes
(Data)
Connections
Request
Response
Gives you:
Description
Formal Specification
Attributes
193
This part:
Gives you:
Application Connections
Behavior
Description
Every object specification begins with a brief functional definition of
the object being defined. For example, the description of the
Device/Identity Object reads: This object is used to provide
identification and general information about the module.
Class Code
This part of the definition is a value unique to an object. Use the
class code to identify the class of object when accessing objects in
modules.
Attributes
The attribute part of an object specification is divided into two
sections:
Class attributes
Instance attributes
Class Attributes
A class attribute is an attribute that is shared by all objects within the
same class. Class attributes are defined using the following terms:
Attribute
ID
Need in
device
Access
Rule
Name
Data Type
Description of
Attribute
Semantics of
Values
194
Revision
Max Instance
Number of Instances
Optional Attribute list
Optional Service list
Maximum Number Class Attributes
Maximum Number Instance Attributes
Because these attributes are reserved, attribute ID numbers 1 through
7 are always reserved. Therefore, if you want to add a class attribute
to an object definition, you must start with attribute id 8.
195
Need in
Implementation
Access
Rule
Name
Data Type
Description of Attribute
Semantics of Values
Optional*
Get
Revision
UINT
Optional
Get
Max Instance
UDINT
Optional
Get
Number of
Instances
UDINT
Optional
Get
Optional
attribute list
STRUCT of
number
attributes
UINT
optional
attributes
ARRAY of
UINT
Optional
service list
STRUCT of
number
services
UINT
optional
services
ARRAY of
UINT
Optional
Get
Optional
Get
Maximum ID
Number Class
Attributes
UINT
Optional
Get
Maximum ID
Number
Instance
Attributes
UINT
*If the value is 1, then this attribute is OPTIONAL in implementation. If the value is greater than 1, then this attribute is REQUIRED.
196
Instance Attributes
An Instance Attribute is an attribute that is unique to an object
instance and not shared by the object class.
Instance Attributes in Appendix A are defined in the same terms as
Class Attributes. There are no reserved Instance Attributes.
Attribute
ID
Need in
device
Access
Rule
Name
Data Type
Description of
Attribute
Semantics of
Values
Common Services
A common service is a service that is useful in many objects and is
listed only once on the list of common services. Each Common
Service has a fixed set of parameters.
The Common Service component of an object definition includes:
Service
Code
Need in
Implementation
Service Name
Description of Service
197
Are called:
Data Type
Description of Attribute
198
Set_Attributes_All Request
When the Set_Attributes_All common service is included in the list
of supported common services, then the Set_Attributes_All
Response must be included in the object definition. This component
specifies the sequence or order of the data returned in the
Object/service specific reply data portion of the response.
The Set_Attributes_All request component of the object class
definition includes:
Name
Data Type
Description of Attribute
Class-specific Services
199
Need in
Implementation
Service Name
Description of Service
Are called:
Type
Description of
Request Parameters
Service Name
1910
Type
Description of
Response Data
Semantics of Values
Behavior
Behavior of an object may be triggered by an objects services and is
based on the values of the attributes accessed by the service.
Together, the services and attribute values initiate state changes in
the object. The behavior definition determines how an object
responds when it receives notification of an event that changes its
state.
Behavior must be defined in terms of the:
state an object is in when it receives notification of a
state-changing event
event the object receives
action performed when the event is received
State
A state is an objects current active mode of operation (for example,
Running, Idle).
1911
Idle
Running
Create
Transition to Idle
Error: Object
already exists.
Error: Object
already exists.
Delete
Transition to
NonExistent
Start
Transition to
Running
Stop
Transition to Idle
Get_Attribute_Single
Validate/service the
request. Return
response
Validate/service the
request. Return
response
Set_Attribute_Single
Validate/service the
request. Return
response
1912
Event
An event is an external stimulus that could cause a state transition.
A State Transition Diagram graphically illustrates the state of an
object and includes services, and other events and attributes that
cause it to transition to another state.
NonExistent
Create
Delete
Idle
Get_Attribute_Single/
Set_Attribute_Single/
Start
Stop
Running
Nonexistent
Idle
Running
Number_of_Members
Not available
Read Only
Read Only
Member_List
Not available
Read Only
Read Only
Data
Not available
Read/Write
Read Only
Owner
Not available
Read Only
Read Only
Chapter
20
To build a network connection, a path must be established from the
originating application to the target application. The path can be
chosen by the user or by a software programming tool contained in a
workstation.
In either case, the system topology must first be mapped. The user
can enter the system layout, or a tool that interrogates the system to
determine its layout can be used. Once the topology is mapped, the
tool will provide the connection path between any two devices in the
system in the form of a system address.
This chapter contains these sections:
Section
Page
Connection Path
202
Connection ID
202
203
205
Logical Address
208
209
2010
2014
202
ControlNet Addressing
Connection Path
(Conn_path)
The connection path comprises both the route from the originating
device to the target device and the logical address (which specifies
the target application within the target device). The relationship
between these components is illustrated in Figure 20.1.
Figure 20.1
Components of the Connection Path
Originating
Device
Target
Device
Data
Structure
0 to N Intermediate Nodes
Intermediate
Node
Originating
Application
Data
Structure
Intermediate
Node
Target
Application
Path
Logical Address
The connection path identifies the route from the originating device
to the target device and then specifies the target application within
the target device.
Connection ID (Conn_ID)
Connection Number
ControlNet Addressing
203
Then:
point-to-point
consumer
multicast
producer
204
ControlNet Addressing
Allocating CIDs
Multicast Producer
For the multicast producer, two solutions are possible: fixing the CID
per structure and the second, rotating through a series of CIDs.
Fixing the CIDs
Each of the multicast CIDs is allocated to a fixed structure within the
device. In this way, multiple clients requesting a connection to the
same structure within the device will always get the same CID
independent of the order in which the connections are made. For
example, if an I/O module has two possible data structures to which
originators can connect, each structure is assigned a permanent CID.
And this same CID is returned any time a connection is made to the
structure.
Rotating CIDs
The second method is used by more complex devices, such as
controllers or bridges. In this method, a block of CIDs is allocated
which is at least twice as large as the number of concurrent
connections supported by the device. As connections are requested,
the CIDs are allocated in order from the block. If a connection is
closed, the freed CID is not reused until the device has rotated
through all the other CIDs. This will extend the time before a CID is
reused and will further eliminate the possibility of confusion of
CIDs.
Rotating CIDs
1
2
Unused CIDs
3
4
5
Used CIDs
ControlNet Addressing
205
Point-to-Point Consumer
For the point-to-point consumer case, the rotating CID method is
used. As connections are requested, the CIDs are allocated in order.
If a connection is closed, the freed ID is not reused until the device
has rotated through all the other CIDs. This will extend the time
before a CID is reused and will further eliminate the possibility of
confusion of CIDs.
The connection path specifies both the target end node application
and the route to it.
The path information is specified using a system address. When the
path information is contained in a set of directions to be followed by
the connection, the format of the system address is the port number
and the station address on that link.
In the figure below, for example, each hop in the system is specified
by a port and station combination. The path starts at the originator
and contains a link and port for each node in the path. The
connection path is different depending on the direction for the same
route. The black and gray paths connect to the same end points, but
since they have different starting points they have different relative
paths.
Figure 20.3
System Addresses for Path Information
A
1
NOTES:
Port A or B
Station 1 to 12
Relative Path (solid): A5 B3 A7 B9 A2
Relative Path (dashed): A12 B6 A4 B2 A1
A
2
12
206
ControlNet Addressing
Multi-port Devices
Devices in the system can have multiple ports, as shown in Figure
20.4.
Figure 20.4
Typical ControlNet Device with Multiple Ports
backplane
Typical Device
ControlNet
ControlNet
ControlNet
ControlNet Addressing
207
Figure 20.5
ControlNet System Addressing in a Large Network
Incorporating Different Types of Networks
backplane
backplane
A
3
backplane
A
4
A
5
ControlNet
ControlNet
A.5.B.3.A.2
A.2.B.1.A.3.B.3.A.2
FIP
A
2
A
3
A
4
A
5
3
A.1.B.23456.A.2
A
1
A
2
A
3
A
4
23456
NOTE:
The above examples show the format of a ControlNet system address, which is
Port.link_addr.Port.link_addr.Port.link_addr ...
208
ControlNet Addressing
Output
Assembly
Instance
Connection
Manager
Input
Assembly
Instance
Device
C
P
C
T
Messaging
Network
Connection
Message
Router
C
T
Application
ControlNet Addressing
209
Segment 1
1
C
N
Input
Application
Segment 2
MAC 15
1
C
N
IN
Segment 4
Diagnostic
Data
Structure
Segment 3
2010
ControlNet Addressing
USINT
where ss is the size in words
Path Segment
Logical Segment
Reserved
Symbolic Segment
Data Segment
Reserved
ControlNet Addressing
2011
Path Segment
The path segment indicates the port and link address for the next hop
in the path. The first byte contains the segment type and the port
number. The maximum number of ports available on a device is 32.
The size of the link address will vary with the type of link and the
type of port. Figure 20.10 shows examples of possible path
segments.
Figure 20.10
Path Segment Type
Segment Type
Port Number
Optional
Link Address
Reserved Byte
used with link addresses u 8 bits
Table 20.A
Path Letter and Path Number Designations
Path Letter
Path Number
Notes
Backplane port
...
425
Other ports
26
27 32
Reserved (undefined)
2012
ControlNet Addressing
Table 20.B
Examples of Path Segments
Path Segment
Notes
[01][02]
[03][06]
[02][rb][123456] 1
rb is reserved byte
Logical Segment
The logical segment selects a particular class, instance, or structure
element within a device. The first byte indicates the type and format
of the logical segment.
Figure 20.11
Logical Segment Type
Segment Type
Logical Type
Logical Format
Optional
Reserved Byte
used with logical addresses u 8 bits
0 0 1
Class
Instance
Structure Element
Connection Point
Attribute
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
Electronic Key
1 0 1
0
0
1
1
0
1
0
1
0 0
The class and instance are numeric values which the device can map
to internal data structures, as shown below:
Table 20.C
Examples of Class and Instance Values Mapped to Internal
Data Structures
Segment
Logical
Format
Notes
[21][rb][0500]
Class
16bit
class 5
[21][rb][0100]
Class
16bit
class 2
[24][rb][2000]
Instance
16bit
Instance 20
[20][01]
Class
8bit
class 1
[30][01]
Attribute
8bit
Attribute 1 of an object
[2C][05]
Conn. Pt.
8bit
Connection point 5
ControlNet Addressing
2013
The logical segment is used to indicate that the target device has
been reached. Additional segments beyond the logical segment are
used by the target device to select the desired transport for a data
structure or function. To specify the complete logical address for an
automation controller, for example, the logical address would contain
logical segments for the global data table and additional logical
segments to specify the data structure within the global data table.
These segments may be logical or path segments, and will be
interpreted by the connection manager in the automation controller.
Data Segment
The data segment contains parameters for the target application. The
size of the data segment is specified in number of words and depends
on the application. The data segment can be any number of words up
to 255. A path can contain more than one data segment if required.
Figure 20.12
Representation of the Data Segment Type
Segment Type
1
Variable-Length Data
Unused
Connection Path
Notes
7 words of data in a
data segment
Class 5, Instance
20 with 4 words of
data
2014
ControlNet Addressing
Chapter
21
Messaging is defined as one or more service transactions between
objects. Each service transaction comprises a service request and a
corresponding service response. The objects involved communicate
through network connection nodes that understand the
network-connected messaging protocol. Messages are sent via a
class 3 connection to the message router or via the unconnected
message manager through the message router. The goal of
network-connected messaging is to provide a flexible yet highly
interoperable communications protocol standard for all messaging
activity.
Messaging includes a set of common services that provide common
behaviors across the network. These behaviors form the minimum
set of standard, predefined behaviors available in a system. An
object definition defines which services are required in an object
implementation. Refer to Appendix A for object descriptions.
This chapter contains these sections:
Messaging Protocol
Section
Page
Messaging Protocol
211
Protocol Formats
212
Data Formatting
215
Services
215
Message Router
219
2112
2113
212
ControlNet Messaging
Protocol Formats
Service Code
Number of
words of IOI
IOI
..
.
The IOI can be zero or more words.
Object/ServiceSpecific Parameters
..
.
The object/service-specific parameters can
range in size from zero bytes to the maximum
packet size (in bytes).
ControlNet Messaging
213
Figure 21.2
Format of a Message Service Code
8 bits
Service Identifier
Request/ Response
Flag
214
ControlNet Messaging
The second two bytes of the response message contain the general
status code and the size of the object/service-specific extended status
data. The specified number of words of object/service-specific
extended status follows. The words following the
object/service-specific extended status data make up the
object/service-specific response data.
Figure 21.3
Structure of a General Response Message
8 bits
Service Code
0
General
Status
Number of 16bit words of objectspecific
or servicespecific extended status data
Objectspecific or service-specific extended status data
..
.
ControlNet Messaging
215
Data Formatting
Services
Common Services
The service code corresponding to each common service has been
allocated for use by all class definitions. Although every object class
should implement some of the common services, a class is not
required to implement all of them. Any class that implements a
common service must implement the required service interface.
The common services are defined from a system view. The request
parameter formats, for example, describe how the client application
packs requests and how the objects in the connection path interpret
them. The response status and response parameter formats define
how the the objects in the connection path pack their responses and
how the client application interprets them.
The first object that detects an error always generates a response.
There is no parameter of a service definition, however, that specifies
which other objects in the connection path will also generate a
response. Additional details on service requests and responses are
provided in other parts of this section.
216
ControlNet Messaging
Service Name
00
<reserved>
01
Get_Attributes_All
02
Set_Attributes_All
03
Get_Attributes_List
04
Set_Attributes_List
05
Reset
06
Start
07
Stop
08
Create
09
Delete
0A
Multiple_Service_Packet
0B
App_Open
0C
App_Close
0D
Apply_Attributes
0E
Get_Attributes_Single
0F
Network_Resource_Present
10
Set_Attributes_Single
11
Find_Next_Object_Instance
12
13
14
15
16
17
18 - 31
32 - 4A
4B - 63
63 - 7F
80 - FF
ControlNet Messaging
217
Error Name
Description of Error
Success
Connection failure
01
02
03
Resource
unavailable
Invalid value in
object specific data
parameter of a
service request
Internal Object
Identifier (IOI)
segment error
04
05
Internal Object
Identifier (IOI)
destination
unknown
06
Partial transfer
07
Connection lost
08
Unimplemented
service
Invalid attribute
value
09
0A
0B
218
ControlNet Messaging
Error
Code
(hex)
0C
0D
0E
0F
Error Name
Description of Error
Access permission
does not allow
service
11
Devices
mode/state does
not allow object to
perform service
Reply data too
large
12
Fragmentation of a
primitive value
Undefined attribute
Service
fragmentation
sequence not
currently in
progress
No stored attribute
data
Store operation
failure
Bridging failure,
request packet too
large for network
10
13
14
15
16
17
18
19
1A
1B
1C
Bridging failure,
response packet
too large for
network
Missing attribute
list entry data
ControlNet Messaging
Error
Code
(hex)
1D
1E
219
Error Name
Description of Error
Invalid attribute
value list
Embedded service
error
Connection
Related Failure
1F
20
21 CF
D0 FF
2110
ControlNet Messaging
Figure 21.4
Message Router Usage in a Device
Input
Download
Upload
Application
Scanner
Application
Message Router
Data Buffer
Transport
Connection
Manager
Transport Services
UCMM
Network
Network Connections
Link/Physical
ControlNet
backplane
DeviceNet
ControlNet Messaging
2111
The message router identifies the CM object from the class and
instance specified. The message router then reports to the CM object
the service, the address of the message buffer from which processing
should continue, the number of words left to process in the request
message, and the number of words left to interpret in the IOI.
A value of zero is reported for the number of words left to interpret
in a single-level class/instance IOI.
Interpretation of Complex IOIs
IOIs are considered complex if they allow various segment types to
be mixed or if they are used to access complex object hierarchies.
The methods used to interpret complex IOIs are similar to those used
to interpret an IOI containing a structure element logical segment
and an IOI containing a symbol segment. The message router either
calls a special routine that can identify the object, identifies the
object that will interpret the rest of the IOI, or both.
The interpretation of all complex IOIs requires more knowledge than
just an awareness of class and instance. This knowledge is often
device-specific, and must be implemented by the device designers.
2112
ControlNet Messaging
Unconnected Message
Manager
Originator
Bridge
Target
ControlNet Messaging
Examples Of Messaging
Packets
2113
General
Detail
ControlNet header
Size
01
Control
83 03
02
Tag
UCMM header
0A
UCMM Timeout
01 D8
01
UCMM Request
UCMM Message ID
IOI
02
20 01
24 01
Instance (1)
2114
ControlNet Messaging
Table 21.B
Device Object Get_Attribute: reply
Data (hex)
1E
General
Detail
ControlNet header
Size
01
Control
83 01
03
Tag
UCMM header
00
UCMM Timeout
01 D8
81
UCMM Message ID
IOI
00
00
General status
00
01 00
0C 00
Product type
18 00
Product code
01
01
00 00
62 51 00 00
09
Status
Serial number
Product name length
31 37 37 31 2d 41 43 4E 52
00 00 00 00 00 00 00 00 00 00 00 00 00 00
Pad bytes
00 00 00 00 00 00 00 00 00
UCMM Request
ControlNet Messaging
2115
General
Detail
ControlNet header
Size
12
Control
12
Tag pad
05 01 00
Tag
01 00
4B
Message ID
IOI
02
20 67
Class (PCCC)
24 01
Instance (1)
07 01 00 01 69 99 66 0F 00 00 00
PCCC Message
68 00 00 01 00 07 00 07 00 01 00
Table 21.D
Reply from CNA30 Message Router
Data (hex)
General
0F
ControlNet header
Detail
Size
16
Control
0F
Tag pad
01 03 00
Tag
01 00
CB
Message ID
IOI
00
00
General status
00
07 01 00 01 69 99 66 4F 00 00 99
PCCC Message
09 03 42 00 00 00
Table 21.E
Message to CNA30 Message Router
Data (hex)
12
General
Detail
ControlNet header
Size
12
Control
12
Tag pad
05 01 00
Tag
01 00
4B
Message ID
IOI
02
20 67
Class (PCCC)
24 01
Instance (1)
07 01 00 01 69 99 66 0F 00 00 00
PCCC Message
68 00 00 01 00 07 00 07 00 01 00
2116
ControlNet Messaging
Table 21.F
Reply from CNA30 Message Router
Data (hex)
General
0F
ControlNet header
Size
16
Control
0F
Tag pad
01 03 00
Tag
01 00
CB
Message ID
IOI
00
00
General status
00
07 01 00 01 69 99 66 4F 00 00 99
09 03 42 00 00 00
Detail
PCCC Message
Chapter
22
The process of establishing a ControlNet connection involves three
layers of the ControlNet Communication Model, and binds:
producers and consumers to connection IDs at the Network Layer
producers to transports at the Transport Layer
applications to transports at the Application Layer
This chapter contains these sections:
Section
Page
222
Connection Manager
223
225
229
2211
222
Setting Up Connections
Before Any Connections
Are Made
Real-Time
Data
Application
Real-Time
Data
Application
Message
Router
Connection
Table
Connection
Table
Connection
Manager
Unconnected
Message
Manager
Unconnected Messages
Message Connections
Connection Manager
223
224
Figure 22.2
Data Flow Diagram for a ControlNet Connection Manager
Link Producer
Consumer
NI_APP_OPEN_REPLY
NI_OPEN
CLOSE
NI_OPEN_REPLY
CLOSE_REPLY
NI_APP_OPEN
GET_ATTRIB_REPLY
NI_FWD_OPEN_REPLY
NI_OPEN_REPLY
CLOSE_REPLY
FWD_CLOSE_REPLY
NI_APP_OPEN
RESET_REPLY
Transport
NI_OPEN_REPLY
CLOSE_REPLY
NI_APP_OPEN
Message
SET_ATTRIB_
Router
REPLY
Application
NI_APP_OPEN_REPLY
NI_OPEN
CLOSE
Unconnected
Message
Manager
ControlNet
Unconnected
NI_OPEN_REPLY
CLOSE_REPLY
NI_APP_OPEN
Application
Link Producer
Consumer
Message
Router
NI_APP_OPEN_REPLY
NI_OPEN
NI_APP_OPEN_REPLY
CLOSE
NI_OPEN
CLOSE
GET_ATTRIB
NI_OPEN_REPLY
CLOSE_REPLY
NI_APP_OPEN
NI_APP_OPEN_REPLY
NI_OPEN
CLOSE
NI_APP_OPEN_REPLY
NI_OPEN
CLOSE
GET_ATTRIB
SET_ATTRIB
NI_FWD_OPEN
FWD_CLOSE
RESET
NI_FWD_OPEN
FWD_CLOSE
Producing
Connection
Producing
Producing
Table
Table
Connection
Connection
Table
NI_FWD_OPEN_REPLY
FWD_CLOSE_REPLY
Device
Device
Messages
Unconnected
Message
Manager
Transport
Consuming
Connection
Consuming
Table
Table
Connection
Connection
Table
Connection
Manager
NI_OPEN_REPLY
CLOSE_REPLY
NI_APP_OPEN
SET_ATTRIB_REPLY
GET_ATTRIB_REPLY
NI_FWD_OPEN_REPLY
FWD_CLOSE_REPLY
RESET_REPLY
NI_FWD_OPEN
FWD_CLOSE
NI_FWD_OPEN_REPLY
FWD_CLOSE_REPLY
Connection
Manager
SET_ATTRIB
NI_FWD_OPEN
FWD_CLOSE
RESET
Consuming
Connection
Consuming
Consuming
Table
Connection
Connection
Table
Table
Producing
Connection
Producing
Producing
Table
Connection
Connection
Table
Example Connection
Based On The Data Flow
Diagram For The
Connection Manager
225
Figure 22.3
Example Connection Using the Data Flow Diagram
Device 1
Device 2
Controller
Input Module
Originator
Target
Data
ControlNet
226
227
228
Connection Manager
Services
229
The services of the connection manager are the same as the external
services of the connection processor.
8-bit byte
[xxxx]
16-bit word
[xxxxxxxx]
32-bit word
Service (Service_Code)
The service is designated using a standard ControlNet service code
that is represented as an 8bit value in which the upper bit indicates
request or reply.
Figure 22.4
Representation of the Service Request/Response
Service Request
MSB
LSB
Service Code
Request/Reply
USINT
r=
Request/Reply
x=
Command Code
2210
USINT
ss =
Size in words
[tp][l..l]..[tp][l..l]
t is segment type
l..l is variable based on the segment type
Connection Manager
Service Descriptions
2211
Service
Service
Code
Implemented
via Local
Subroutine Call
NI_FWD_OPEN
4Chex
No
NI_FWD_OPEN_REPLY
CChex
No
FWD_CLOSE
4Ehex
No
FWD_CLOSE_REPLY
CEhex
No
GET_ATTRIBUTES_SINGLE
0Ehex
No
GET_ATTRIBUTES_ALL
01hex
No
SET_ATTRIBUTES_SINGLE
10hex
No
SET_ATTRIBUTES_ALL
02hex
No
Notes
Open a connection
Close a connection
2212
Table 22.A
Forward Open to Message Router: Request
Data (hex)
16
General
Detail
ControlNet header
Size
01
Control
83 05
02
Tag
UCMM header
38
UCMM Timeout
01 00
4C
UCMM Request
UCMM Message ID
IOI
02
20 06
24 01
Instance (1)
01
Forward open
Priority
38
parameters
Timeout
02 00 05 80
OT connection ID
02 00 01 80
TO connection ID
0A 00
01 00
01 69 99 66
D0 2B
EPR
07 47
OT connection type
07 47
TO connection type
A3
02
Trigger
Connection Path
Path size
20 02
24 01
Instance (1)
Table 22.B
Forward Open Request to Message Router: ACK
Data (hex)
04
General
Detail
ControlNet header
Size
01
Control
83 01
01
Tag
UCMM header
00
01 00
UCMM Request
UCMM Timeout
UCMM Message ID
2213
Table 22.C
Forward Open to Message Router: Reply
Data (hex)
10
General
Detail
ControlNet header
Size
01
Control
83 01
03
Tag
UCMM header
00
UCMM Timeout
01 00
CC
UCMM Request
UCMM Message ID
IOI
00
00
General status
00
01 00 05 80
Forward open
OT connection ID
02 00 01 80
parameters
TO connection ID
0A 00
01 00
01 69 99 66
D0 2B
EPR
00
00
Reserved
Table 22.D
Forward Open Reply to Message Router: ACK
Data (hex)
04
General
Detail
ControlNet header
Size
01
Control
83 05
05
Tag
UCMM header
00
01 00
UCMM Request
UCMM Timeout
UCMM Message ID
2214
Table 22.E
Forward Close to Message Router: Request
Data (hex)
0F
General
Detail
ControlNet header
Size
01
Control
83 05
02
Tag
UCMM header
38
UCMM Timeout
01 28
4E
UCMM Request
UCMM Message ID
IOI
02
20 06
24 01
Instance (1)
01
Priority
38
Timeout
00 00
Forward close
01 00
parameters
01 69 99 66
02
00
Path size
Pad byte for alignment
20 02
24 01
Instance (1)
Table 22.F
Forward Close Request to Message Router: ACK
Data (hex)
04
General
Detail
ControlNet header
Size
01
Control
83 01
01
Tag
UCMM header
00
01 28
2215
Table 22.G
Forward Close to Message Router: Reply
Data (hex)
0B
General
Detail
ControlNet header
Size
01
Control
83 05
03
Tag
UCMM header
00
UCMM Timeout
01 28
CE
UCMM Request
UCMM Message ID
IOI
00
00
General status
00
00 00
Forward close
01 00
parameters
01 69 99 66
00
00
Reserved
Table 22.H
Forward Close Reply to Message Router: ACK
Data (hex)
04
General
Detail
ControlNet header
Size
01
Control
83 05
05
Tag
UCMM header
00
01 28
UCMM Request
UCMM Timeout
UCMM Message ID
OPEN
The OPEN request service starts the open connection process, and is
sent from the originating application to the local CM via an
implementationdependent local subroutine call.
OPEN_REPLY
The OPEN_REPLY is sent from the local CM back to the originating
application. The reply indicates the status of the connection and
provides information about the connection including the connection
serial number if not specified by the originating application.
2216
The reasons for a connection failure fall into five major categories:
lack of resources
invalid addresses
errors detected by the target application
transport errors
target node is powering up
Lack of Resources
The possible reasons for a lack of resources at any of the nodes in the
path are lack of:
buffer memory at one of the intermediate nodes
bandwidth on one of the links in the path
screeners or CIDs at one of the nodes
Invalid Addresses
The invalid address errors occur when any node in the path cannot
forward the connection request. This can be the result of:
Unknown port number or port not supported at originator or
intermediate nodes
Unknown link address or link address not supported at originator
or intermediate nodes. (This is detected by a UCMM timeout)
Unknown class number or class number not supported at the
target node
Unknown instance number or instance number not supported at
the target node
Application Errors
The target application can reject the connection for a number of
possible errors. These include:
attempt to connect to a transport which can only support a single
connection
lack of an available transport to satisfy the connection
invalid address for an internal structure element of connection
point
transport type requested is not supported for this application
error in the format or value of the data segment
electronic key failed
owner conflict
duplicate owner. Owner already has opened a connection.
2217
FWD_OPEN
The FWD_OPEN service request sets up all required network,
transport and application connections. An application connection
consists of a single transport connection, and one or two network
connections which are in turn comprised of multiple link
connections. Each path segment in the connection path uses a link
connection. The FWD_OPEN service between two devices builds
one or two link connections as specified by the network connection
parameter and the requested packet interval (RPI). Since up to two
network connections can be required for a single transport
connection, they are differentiated by the OT (originator to target)
and TO (target to originator) designations.
The fields described are not used for all combinations of network
and transport connections, but must appear in the FWD_OPEN
service. Figure 22.2 shows the transmission of this service within the
context of the other connection manager services and the objects
which send and receive them.
2218
General
Detail
ControlNet header
Size
01
Control
83 02
02
Tag
UCMM header
38
UCMM Timeout
01 18
4C
UCMM Request
UCMM Message ID
IOI
02
20 06
24 01
Instance (1)
01
Forward open
Priority
38
parameters
Timeout
01 00 02 80
OT connection ID
00 00 02 00
TO connection ID
01 00
01 00
D2 53 00 00
71 0E
EPR
26 48
OT connection type
2A 28
TO connection type
01
0A
Trigger
Connection Path
20 7C
24 01
Instance (1)
2C 02
2C 01
80 05
Data segment
01 00
Electronic Key
0C 00
Product type
18 00
Product code
01
01
03 00
2219
FWD_OPEN_REPLY
The response to the FWD_OPEN service is a FWD_OPEN_REPLY
service. The FWD_OPEN_REPLY contains the original connection
serial number and owner vendor and serial number and the
connection IDs (CID) necessary to complete the connection if
successful, and error information if the connection failed.
Figure 22.2 shows the transmission of this service within the context
of the other connection manager services and the objects which send
and receive them.
Reply Format
Notes
00
Format A
Connection Established
01
Format B
Connection Failed
2220
Success (Format A)
Format A is used when the connection is successful. Success is
returned when the connection requested has been established from
this point forward in the path. This reply also indicates the
connection serial number and the actual packet rate of the
connection. Once the Success reply has been received, the
connection is open from this point forward in the path.
Function
Notes
Reply Service
[D4][00]
Status
[ss][oo]
Net OT connection ID
[tgmmcccc]
Net TO connection ID
[tgmmcccc]
[cccc]
Vendor ID
[vvvv]
vvvv=vendor ID
Originator
[ssssssss]
API O-T
[iiiiiiii]
API T-O
[iiiiiiii]
[xx][rb]
Application Reply
[xxxx]....[xxxx]
serial number
2221
Failure (Format B)
Format B is used for all failures of the connection system. The
requested connection is not established, and the objectspecific
status words contain information about the reason for the failure. A
remaining path parameter contains the remaining path from the point
at which the connection failed. This information can be used to
debug the problem. The format of the FWD_OPEN_REPLY service
for a connection failure is:
Data (hex)
10
General
Detail
ControlNet header
Size
01
Control
83 01
03
Tag
UCMM header
00
UCMM Timeout
01 18
CC
UCMM Request
UCMM Message ID
IOI
00
00
General status
00
01 00 02 80
Forward open
OT connection ID
02 00 02 00
parameters
TO connection ID
01 00
01 00
D2 53 00 00
71 0E
EPR
00
00
Reserved
The reasons for a connection failure fall into four major categories:
lack of resources
invalid addresses
errors detected by the target application
target node is powering up
CLOSE
The CLOSE service is sent by the originator application of a
connection to close the connection and deallocate the resources
associated with the connection. The service is sent from the
originator application to the local connection manager. The service
indicates the connection to close by using the original path and the
connection serial number. The originating application must save
both the connection path, required to open the connection, and the
connection serial number, returned by the OPEN_REPLY.
2222
CLOSE_REPLY
The CLOSE_REPLY service is sent from the local connection
manager to the originating application to indicate the status of the
close connection request.
The reasons for a close connection failure can be the result of invalid
addresses in the close connection path or a connection not found at
one of the nodes. It is possible for multiple errors to occur while
closing a connection, only the first error detected on the close reply
will be reported. The invalid address errors occurs when any node in
the path can not forward the close connection request. The close
connection request has not been completely executed and some
nodes may still have an open connection. This can be the result of a:
node in the path being powered down or removed.
broken or disconnected cable.
device being reset.
Any of the above causes can result in one of the following invalid
addresses:
Unknown port number or port not supported at originator or
intermediate nodes
Unknown link address or link address not supported at originator
or intermediate nodes (ICP can detect empty slots, ControlNet
can not detect unused MAC addresses)
Unknown class number or class number not supported at the
target node
Unknown instance number or instance number not supported at
the target node
FWD_CLOSE
The FWD_CLOSE service removes a connection from all the nodes
participating in the original connection. The FWD_CLOSE is sent
between connection managers as specified in the connection path.
The FWD_CLOSE request causes all resources in all nodes
participating in the connection to be deallocated, including
connection IDs, bandwidth, and internal memory buffers.
Figure 22.2 shows the transmission of this service within the context
of the other connection manager services and the objects which send
and receive them.
2223
Format of FWD_CLOSE
The format of the FWD_CLOSE service is:
Function
Notes
Service
[4E]
Close Connection
Size of IOI
[ss] = [02]
[SS][cc]= [20][06]
[SS][ii]= [24][01]
Connection priority
[xp]
Connection timeout
[tt]
[cccc]
Vendor ID
[vvvv]
vvvv=vendor ID
Originator
[ssssssss]
[ss][rb]
Connection path
[tp][ll]..[tp][ll]
serial number
FWD_CLOSE_REPLY
The FWD_CLOSE_REPLY service is sent between connection
managers in response to a FWD_CLOSE, and contains the status of
the close request.
Figure 22.2 shows the transmission of this service within the context
of the other connection manager services and the objects which send
and receive them.
2224
Reply Format
Notes
00
Format A
01
Format B
Success (Format A)
Format A is used when the close connection is successful. A
successful FWD_CLOSE_REPLY service is returned when the close
has been acknowledged by all the nodes from this point in the path to
the end of the path. The reply indicates the connection serial number
and owner vendor and serial number of the closed connection. Once
the reply indicating success has been received, the connection is
closed from this point in the path to the end. The target application
can optionally pass back application specific information in the
successful close reply. This information is object specific. For
further information refer to the specific object specification. If no
application reply information is contained in the service the
Application reply size will be zero.
Function
Notes
Reply Service
[CE][00]
Status
[00][00]
[cccc]
Vendor ID
[vvvv]
vvvv=vendor ID
[ssssssss]
[xx][rb]
Application Reply
[xxxx]....[xxxx]
2225
Function
Notes
Reply Service
[CE][00]
Status
[01][03]
Objectspecific status
[rrrr]
[cccc]
Vendor ID
[vvvv]
vvvv=vendor ID
[ssssssss]
Remaining Connection
path size
[ss][rb]
Remaining Connection
path
[tp][ll]..[tp][ll]
APP_OPEN
The APP_OPEN service is sent from the target connection manager
to the target application. The APP_OPEN service contains
information needed by the application to open the connection. This
information includes any remaining address segments which could
be a data segment used to configure the application, the transport
class, and the connection serial number. The application must reply
to the APP_OPEN service with either a pointers to link producers
and or consumers to use for the connection, or an indication of
failure. For multicast connections the target application is
responsible for maintaining a count or list of the open connections on
this transport. For point to point connections the target application is
responsible for maintaining the state of the transport, in use or
available.
2226
APP_OPEN_REPLY
The APP_OPEN_REPLY is returned by the target application. The
reply contains a pointer to the transport if the application can accept
the connection, or an objectspecific reason for rejecting the
connection request.
APP_CLOSE
The APP_CLOSE service is sent from the target connection manager
to the target application to close the connection. The application
may deallocate the transport or perform other applicationspecific
operations as the result of the connection closing.
The close connection service specifies the connection using both the
pointer to the transport and the connection serial number. The
applications can use either to identify the connection to be removed.
APP_CLOSE_REPLY
The APP_CLOSE_REPLY is sent from the target application to the
target connection manager to indicate the success of the requested
close operation. For multicast connections the target application
must return a null link producer and consumer instance if this is not
the last connection.
GET_ATTRIBUTES_LIST
The GET_ATTRIBUTES_LIST service returns a list of attributes
about the connection manager or about a single connection. See
Chapter 21 ControlNet Messaging, for further details.
SET_ATTRIBUTES_LIST
The SET_ATTRIBUTES_LIST service makes it possible to set some
of the attributes of the connection manager. See Chapter 21
ControlNet Messaging, for further details.
Chapter
23
The ControlNet Product Developers Guide for Adapter Applications
requires that all products developed for the ControlNet network have
a Statement of Compliance.
Use this document as a guide to complete a ControlNet Statement of
Compliance. As each product is unique, each Statement of
Compliance will also be unique.
This chapter contains these sections:
Whats Included
Section
Page
Whats Included
231
232
Required Sections
Each Statement of Compliance must include these sections:
Section
Function
General Device
Data
ControlNet
Physical
Conformance Data
ControlNet
Required Object
Implementation
232
Definitions
Use these terms when completing the ControlNet Required Object
Implementation section.
Term
Definition
Value Limits
Parameter Options
Object Name - ID
233
Completion Steps
The Statement of Compliance for your device defines the specific
implementation of the ControlNet Required Objects.
Use the example Statement of Compliance for a 1771-ACN
communications adapter beginning on page 234 as a guide when
you complete your own Statement of Compliance.
To complete this form, you must have a thorough knowledge of your
product and the ControlNet protocol. Follow these steps when
completing your own Statement of Compliance.
Important:
F-1
234
F-1
234
ControlNet Required
Object Implementation
F-2
F-3
F-4
F-5
235
236
237
238
N/A
F-6
F-7
239
N/A
Identity Object
Message Router Object
Connection Manager Object
ControlNet Object
ControlNet Configuration
Manager Object
Non-Volatile Storage Object
ControlNet Scheduling Object
234
Statement of Compliance
ControlNet
Example Form (for Photoelectric Sensor)
ControlNet
Physical
Conformance
Data
Vendor Name
Device Type
Product Catalog Number
Product Series/Revision
MAC ID Setting
Revision
____________________
DIP Switch
Rotary Switch
Software Settable 7
MAC ID Range
1-99
____________________
Other
None
____________________
None
____________________
Default MAC ID
Communication Rate Setting
Revision
__________________________________
Allen-Bradley Company, Inc.
________________________________
Communications Adapter (12)
________________________________
1771-ACN
__________________________________
A/A
__________________________________
DIP Switch
Software Settable 7
Other None
____________________
Required Connectors
To offer a non-redundant media product, a redundant media product must also exist.
F-1
Redundant Media
1 of 6
Statement of Compliance
ControlNet
ControlNet
Required
R
q i d
O j c
Object
I
aImplementation
Object Class
Attributes
Revision
Max instance
Number of instances
None Supported
Release _________________________
Get
Set
Value Limits
7
7
7
7
7
7
7
7
7
7
7
7
7
7
___________________
___________________
___________________
___________________
___________________
___________________
___________________
Parameter Options
7
7
7
7
Get_Attribute_All
________________________________
Reset
________________________________
Get_Attribute_Single
________________________________
Find_Next_Object_Instance
________________________________
Get_Attribute_List
________________________________
Object Instance
ID
Description
Get
Set
Value Limits
Attributes
Vendor
Product type
Product code
Revision
7
7
7
7
___________
7
7
7
7
Status
___________
Serial number
___________
Product name
__________________
Services
7
None Supported
ControlNet Services
Services
F-2
235
Reset
Get_Attribute_Single
Get_Attribute_All
Get_Attribute_List
___________
___________
___________
___________________
Parameter Options
None
____________________________
____________________________
____________________________
____________________________
2 of 6
236
ControlNet
ControlNet
R q i d
Required
O j c
Object
I
Implementation
ai
Statement of Compliance
Message Router Object 0x02
Message Router Object Specification
Release _________________________
Object Class
ID
Description
Get
Set
Attributes
Revision
7
7
7
7
7
7
7
7
None Supported
None Supported
___________________
Parameter Options
________________________________
________________________________
Get_Attribute_List
Object list
___________________
Get_Attribute_Single
Attributes
F-3
___________________
Get_Attribute_All
Description
Services
7 None Supported
___________________
ID
None Supported
___________________
Object Instance
Value Limits
Get_Attribute_All
Get_Attribute_Single
Get_Attribute_List
Multiple_Command
Get
Set
7
7
7
7
7
7
7
Value Limits
___________________
___________________
___________________
___________________
Parameter Options
________________________________
________________________________
________________________________
________________________________
3 of 6
ControlNet
ControlNet
Required
R
q i d
O j c
Object
Implementation
I
ai
Statement of Compliance
Object Class
Attributes
Revision
Max instance
None Supported
ControlNet Services
Services
7
None Supported
7
7
_________________
_________________
Parameter Options
Get_Attribute_List
_______________________________
Get_Attribute_All
_______________________________
Get_Attribute_Single
_______________________________
Get
Description
Attributes
Open Reqs
3
4
Set
Value Limits
7
7
7
7
7
7
__________________
Close Reqs
__________________
__________________
__________________
__________________
__________________
__________________
__________________
Conn Timeouts
__________________
10
__________________
11
CPU Utilization
__________________
12
__________________
13
__________________
ControlNet Services
Parameter Options
Get_Attribute_Single
_______________________________
Get_Attributes_All
_______________________________
Get_Attributes_List
_______________________________
Set_Attributes_All
_______________________________
Set_Attributes_List
_______________________________
Set_Attributes_Single
_______________________________
Open
_______________________________
Fwd_Open
_______________________________
Close
_______________________________
Fwd_Close
_______________________________
Find
_______________________________
Proxy_Open
_______________________________
Proxy_Close
_______________________________
Unconnected_Send
_______________________________
Ni_Open
_______________________________
Ni_Fwd_Open
_______________________________
Ni_Proxy_Open
_______________________________
Get_Connection_Data
_______________________________
Search_Connections_Data
_______________________________
7
7
7
7
F-4
7
7
ID
None Supported
Release _____________________
Get
Set
Value Limits
Object Instance
237
4 of 6
238
Statement of Compliance
ControlNet
ControlNet
Required
Object
Implementation
Object Class
Attributes
Revision
ControlNet Services
Services
Release _____________________
Get
Set
Value Limits
7
7
7
7
_______________
_______________
Parameter Options
Get_Attributes_Single_____________
____________________________
______________________________
____________________________
______________________________
____________________________
Get
Set
Object Instance
ID
Description
Attributes
80
81
82
Diagnostic Counters
7
7
7
83
Station Status
7
7
7
7
84
_______________
85
Error_log
_______________
86
F-5
Value Limits
_______________
_______________
_______________
_______________
_______________
_______________
Parameter Options
Reset
____________________________
Get_Attributes_Single
____________________________
Set_Attributes_Single
____________________________
Get_Attributes_All
____________________________
Set_Attributes_All
____________________________
Get_Attributes_List
____________________________
Set_Attributes_List
____________________________
Sync
____________________________
Get_And_Clear
____________________________
Enter_Listen_Only
____________________________
Where_Am_I
____________________________
5 of 6
Statement of Compliance
ControlNet
ControlNet
Optional
Object
Object Class
Implementation
Attributes
7
F-8
239
None Supported
1
2
Revision
Number of Instance
7
7
7
7
___________________________
___________________________
ControlNet Services
Parameter Options
Services
7
7
7
Get_Attributes_List
Get_Attributes_All
Get_Attributes_Single
________________________________________
________________________________________
________________________________________
Object Instance
ID
Description
Get
Set
Attributes
Value Limits
___________________________
ControlNet Services
Parameter Options
7
7
7
7
7
7
7
7
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
Get_Attributes_List
Get_Attributes_All
Get_Attributes_Single
Update
Upload
Transfer
Restore
Read
6 of 6
2310
2311
General
Device
Data
ControlNet
Physical
Conformance
Data
Revision ____________________
MAC ID Setting
DIP Switch
Software Settable
Rotary Switch
MAC ID Range
Other
Default MAC ID
______________
DIP Switch
Software Settable
Other
Required Connectors
Redundant Media
2312
ControlNet
ontrol et
Required
Object
Implementation
ID
Description
Attributes
Revision
Max instance
Number of Instances
None Supported
_____________________
_____________________
_____________________
_____________________
ControlNet Services
Services
None Supported
Release
__________________________
Get Set Value Limits
_____________________
_____________________
_____________________
Parameter Options
Get_Attribute_All
________________________________
Reset
Get_Attribute_Single
________________________________
Find_Next_Object_Instance
Get_Attribute_List
________________________________
_
________________________________
_
________________________________
Object Instance
Attributes
ID
Description
Vendor
Product type
Product code
Revision
Status
Serial number
Product name
ControlNet Services
Services
_
Get
Set
Value Limits
___________
___________
___________
___________
___________
___________
_____________________
_____________________
Parameter Options
Reset
________________________________
Get_Attribute_Single
Get_Attribute_All
________________________________
Get_Attribue_List
_
________________________________
_
________________________________
_
ControlNet
R q i d
Required
Object
I
Implementation
ai
ID
Description
Attributes
Revision
None Supported
ControlNet Services
Services
None Supported
2313
Release
__________________________
Get Set Value Limits
_____________________
_____________________
_____________________
_____________________
_____________________
Parameter Options
Get_Attribute_All
________________________________
Get_Attribute_Single
Get_Atrribute_List
________________________________
_
________________________________
Object Instance
ID
Description
Attributes
Object list
None Supported
4
Active connections list
ControlNet Services
Services
None Supported
Get_Attribute_All
Get_Attribute_Single
Get_Attribute_List
Multiple_Command
_
Get
Set
Value Limits
_____________________
_____________________
_____________________
_____________________
Parameter Options
________________________________
_
________________________________
_
________________________________
_
________________________________
_
2314
ControlNet
ontrol et
Required
Object
Implementation
Release
__________________________
Get Set Value Limits
Object Class
ID
Description
Attributes
1
2
Revision
Max Instance
ID
ControlNet Services
Parameter Options
Get_Attribute_List
Get_Attribute_All
Get_Attribute_Single
________________________________
_
________________________________
_
________________________________
_
Get Set Value Limits
None Supported
Services
None Supported
Object Instance
ID
Description
Attributes
1
2
3
4
5
6
7
8
9
10
11
12
13
Open Reqs
Open Format Rejects
Open Resource Rejects
Open Other Rejects
Close Reqs
Close Format Rejects
Close Other Rejects
Conn Timeouts
Num Conn Entries
Conn Open Bits
CPU Utilization
Max Buff Size
Buff Size Remaining
None Supported
ControlNet Services
_____________________
_____________________
_____________________
_____________________
_____________________
_____________________
_____________________
_____________________
_____________________
_____________________
_____________________
_____________________
_____________________
_____________________
_____________________
Parameter Options
Get_Attributes_Single
Get_Attributes_All
Get_Attributes_List
Set_Attributes_All
Set_Attributes_List
Set_Attributes_Single
Open
Fwd_Open
Close
Fwd_Close
Find
Proxy_Open
Proxy_Close
Unconnected_Send
Ni_Open
Ni_Fwd_Open
Ni_Proxy_Open
Get_Connection_Data
Search_Connection_Data
2315
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
2316
ControlNet
ontrol et
Required
Object
Implementation
Object Class
Attributes
Revision
Maximum Instance Number
ControlNet Services
Get_Attributes_Single
___________________________
___________________________
Release ________________________
Get Set Value Limits
___________________
_
___________________
_
Parameter Options
_______________________________
_
_______________________________
_
_______________________________
_
Object Instance
ID
Description
Get
Attributes
80
81
82
83
84
85
86
87
___________________
_
___________________
_
___________________
_
___________________
_
___________________
_
___________________
_
___________________
_
___________________
_
Parameter Options
ControlNet Services
Reset
Get_Attributes_Single
Set_Attributes_Single
Get_Attributes_All
Set_Attributes_All
Get_Attributes_List
Set_Attributes_List
Sync
Get_And_Clear
Enter_Listen_Only
Where_Am_I
Auto_Address
Set
2317
Value Limits
_______________________________
_
_______________________________
_
_______________________________
_
_______________________________
_
_______________________________
_
_______________________________
_
_______________________________
_
_______________________________
_
_______________________________
_
_______________________________
_
_______________________________
_
_______________________________
_
2318
ControlNet
ontrol et
Required
Object
Implementation
Object Class
Attributes
Revision
ControlNet Services
Object Instance
Attributes
ID
ID
_____________________
Parameter Options
Get_Attributes_Single
________________________________
___________________________ ________________________________
___________________________ ________________________________
Description
Status
Description
Get
Set
Get
Set
Value Limits
_____________________
Value Limits
0
1 FE
FF
100
101
102
103
104
105
Status
Port Status for Node 1-254
Current Network Parameters
Current Name of this Subnet
CCM Table Unique Identifier
NetworkTUI
Current Cable Configuration
Co Summary
Connection Originator Info
ControlNet Services
Get_Attributes_Single
Set_Attributes_Single
Get_Attributes_List
Set_Attributes_List
Get_Attribute_Fragment
Set_Attribute_Fragment
Obtain_Network_Resource
Hold_Network_Resource
Release_Network_Resource
Change_Start
Change_Complete
Change_Abort
Sync_Change
Get_Signature
2319
_____________________
_____________________
_____________________
_____________________
_____________________
_____________________
_____________________
_____________________
_____________________
Parameter Options
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
2320
ControlNet
ontrol et
Optional
Object
Implementation
ID
Description
Attributes
None Supported
1
2
Revision
Number of Instance
ControlNet Services
Services
Get_Attributes_List
Get_Attributes_All
Get_Attributes_Single
Object Instance
ID
Description
Attributes
ControlNet Services
Get_Attributes_List
Get_Attributes_All
Get_Attributes_Single
Update
Upload
Transfer
Restore
Read
Release
__________________________
Get Set Value Limits
_____________________
_____________________
Parameter Options
________________________________
_
________________________________
_
________________________________
_
Get Set Value Limits
_____________________
Parameter Options
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
ControlNet
ontrol et
Optional
Object
Implementation
Object Class
Attributes
2321
Revision
Max Instances
Number of Instance
ControlNet Services
Services
Get_Attributes_List
Get_Attributes_All
Get_Attributes_Single
Create
Object Instance
ID
Description
Attributes
1
2
Route
Time Out
ControlNet Services
7
7
7
_____________________
_____________________
_____________________
Parameter Options
________________________________
_
________________________________
_
________________________________
_
________________________________
_
Get Set Value Limits
7
7
_____________________
_____________________
Parameter Options
2322
7
7
7
7
7
7
Get_Attributes_List
Get_Attributes_All
Get_Attributes_Single
Set_Attributes_List
Set_Attributes_All
Set_Attributes_Single
Create
Delete
Read
Conditional Write
Forced Write
Change Start
Break Connections
Change_Complete
Kick Timer
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
________________________________
_
Chapter
24
This chapter presents conformance criteria for ControlNet products.
Conformance is defined as the testing of products for the existence
of characteristics/behavior required by architectural standards.
The conformance criteria presented in this document are the current
minimum standards that must be supported by ControlNet products.
While there are subtle differences, the terms conformance and
compliance are considered to be interchangeable.
There are three categories of conformance:
This conformance category:
Is concerned with:
physical
technology
application
Page
242
243
244
242
Physical Compliance
Criteria
Presence
Physical Piece
Criteria
Reference
Required
Serial Number
Registering Product
Constants
Required
Connector
(ControlNet Access
Port)
RJ45 type
Pinout as specified in reference
Required
Connector
(ControlNet
Network)
Required
Product Labeling
specified in reference
Required
Status LED
States/indications as specified in
reference
Required
LED
States/indications as specified in
reference
Optional
Address Switches
Technology Compliance
Criteria
243
Class Code
(Hex)
UCMM
N/A
Message Router
Object
02
Connection Manager
Object
06
ControlNet
ontrol et Object
65
Device/Identity Object
01
Non-volatile
on- olatile Storage
A1
Criteria
Accepts Low priority fwd_open service
Accepts Low priority fwd_close service
Accepts High priority fwd_open service
Accepts High priority fwd_close service
Accepts datagram service
Can support at least one connection
Denies connection to non-existent class
Closes an open connection
Denies closing a previously closed connection
Correctly routes a message not directed to
itself
Process open connection to Message Router
Denies connection containing connection
serial number from existing connection
Denies connection containing reserved
connection type
Denies connection containing reserved
connection path
Process close connection to Message Router
Process close connection to previously closed
connection
Powers up in listen-only mode
Transitions to on-line via set_attribute_single
service
Reset service transitions from on-line to
listen-only
Will not transition to on-line via
get_attribute_single service
Pending config sched.rate = current config
sched.rate following power-up
Macrocycle start <= macrocycle length
following power-up
Pending config state = current config state
following power-up
Responds to get_attribute_single service
Responds to the get_attribute_all service
Responds to reset service (power-cycle
emulation)
Responds to the get_attribute_single service
Responds to the get_attribute_all service
244
Application Compliance
Criteria
Chapter
25
Use this chapter to install and use the ControlNet network
compliance tool (cat. no. 9220-CC). This tool verifies a products
compliance to the ControlNet network protocol.
This tool was designed for engineers and developers familiar with
the ControlNet network and network troubleshooting. To use the
tool efficiently, you should be familiar with ControlNet protocols.
This chapter contains these sections:
Section
Page
251
System Requirements
253
254
255
2510
2512
Troubleshooting
2513
mr.exe
40 s
MR (message router)
cm.exe
50 s
CM (connection manager)
cnet.exe
ControlNet object
devobj.exe
device object
nvs.exe
35 s
nonvolatile storage
252
To acquire packets from the network and record the test results, you
need to install and run the ControlNet traffic analyzer tool (9220-TA)
on a separate personal c
omputer.
Use this computer to run the tests
and create log files (.log) of the tests.
9220-KTCT
device
under
test (DUT)
9220-KTCT
ControlNet link
Use this table to become familiar with some of the tools terms.
This term:
Refers to the:
CM
Lpacket
MR
SMAC
UCMM
System Requirements
253
Description
486 33 Mhz PC AT or higher
MS-DOS 3.3 or higher
4 MB or higher
8 MB
VGA or high resolution
video adapter and
recommended: ATI VGAWonder XL card and color, super VGA
display (800 x 600)
monitor
minimum: VGA card and a display capable of 640x480 VGA
disk drive
one 3.5 high-density drive
ISA/EISA bus
ControlNet ISA/EISA bus interface (9220-KTCT)
communication interface for interfacing to the ControlNet network
pointing device
Microsoft Mouse or compatible
S ControlNet traffic analyzer tool (9220-TA)
software
S 9220-KTCT DOS driver KTCX.SYS, version 0.48,
shipped with 9220-CC
The amount of RAM determines how much data you can capture4 MB captures 1.5 MB of data.
The amount of hard disk space determines how much data you can store to disk files.
Important:
254
1. Insert the 9220-CC disk into your computers 3.5 diskette drive.
2. Create a directory on your hard drive for the tool:
mkdir tool_directory
Enter
3. Copy the contents of the tool disk to the directory you created.
copy A:*.* c:\tool_directory
Enter
4. Edit your config.sys file to set up the path for the CNXOR.CFG
file and for the DOS driver.
A. Open your config.sys file.
edit config.sys
Enter
Alt
Del
Important:
255
ta
Enter
You see:
Important:
Ctrl
Alt
Del
D. Repeat step 1.
2. Click on Continue.
256
Enter
A. & B.
A. & B.
C.
E. Choose Add.
Publication 92206.5.1 January 1997
D.
257
F. Choose Save.
F.
E.
Enter
A. & B.
C.
D.
258
A. & B.
C.
E. Choose Add.
D.
259
G. Choose Add.
H. Choose Save.
H.
G.
A. & B.
2510
B. Choose save.
Important:
Enter
Enter
2511
Initializing interface...Complete
Loading CN parameters...Complete
Going online...Complete
Complete
ESC
Enter
2512
"
We recommend that you follow the naming convention you used for
the .log file: xxCM.txt
name of the test display file to create
XX=last two digits of the catalog number you are testing
ucmm.exe
mr.exe
cm.exe
cnet.exe
devobj.exe
Test cases
UCMM (unconnected message manager) executes these tests:
Criteria
Test
UCMM 2.3.1
accepts low-priority fwd_open service
UCMM 2.3.5
accepts low-priority fwd_close service
UCMM 2.3.2
accepts high-priority fwd_open service
UCMM 2.3.6
accepts high-priority fwd_close service
UCMM 2.3.10
accepts datagram service
MR (message router) executes these tests:
Test
Criteria
CM 5.3.1
can support at least one connection
MR 4.3.2
denies connection to non-existent class
CM 5.3.2
denies connection to existing connection
CM 5.3.6
closes an open connection
CM 5.3.7
denies closing a previously closed connection
CM 5.3.1
correctly routes a message not directed to itself
CM (connection manager) executes these tests:
Test
Criteria
CM 5.3.1
process open connection to MR
CM 5.3.2
denies connection containing connection serial
number from existing connection
CM 5.3.6
process close connection to MR
CM 5.3.7
process close connection to previously closed
connection
ControlNet object executes these tests:
Test
Criteria
CNET 7.3.1
powers up in listen-only mode
CNET 7.3.2
transitions to online via set_attribute_single service
CNET 7.3.3
reset service transitions from online to listen-only
CNET 7.3.4
will not transition to online via get_attribute_single
service
CNET 7.3.5
pending configuration scheduled rate=the current
configuration scheduled rate following power-up
CNET 7.3.6
pending configuration state=current configuration
state following power-up
CNET 7.3.8
responds to get_attribute_single service
device object executes these tests:
Test
Criteria
DEVICE 8.3.1
responds to get_attribute_all service
DEVICE 8.3.2
responds to reset service (power-cycle emulation)
2513
Troubleshooting
Test cases
nonvolatile storage executes these tests:
Test
Criteria
NVS 11.3.1
responds to the get_attribute_single service
NVS 11.3.1
responds to the get_attribute_all service
This test:
CM 5.3.2
(part of cm.exe)
nvs.exe
Fails if:
the DUT supports multiple connections to the MR. This test
assumes that the DUT supports only one connection to the MR.
If the DUT supports multiple connections, the DUT should respond
with a general status code of 0x00.
the DUT does not support the NVS object
If a test fails:
1. View the display or test log file (.log) to determine which test
is failing.
2. Locate the failing test and its criteria in the table on page 2512.
3. Check the traffic analyzer display (.txt file) to determine what
packet was sent and the corresponding response from the device
under test.
4. Make the necessary adjustments to the device under test.
For additional assistance resolving test failures, contact the
Allen-Bradley Compliance Test Group.
2514
Notes:
Chapter
26
Developing A ControlNet
Conformance Test Plan
This chapter identifies the conformance plan for developers of
ControlNet products. This chapter contains these sections:
Section
Page
261
References
262
Requirements
263
Risks/Contingencies
263
263
Audit Procedures
264
Scope
The test plan covers three areas of product compliance:
physical
technology
application
Identification
Product developers that wish to make a statement of conformance to
the ControlNet standard must be tested according to this plan.
262
Definitions
The following definitions, acronyms, and abbreviations are used in
this document:
"
References
Term
Explanation
CNet
Compliance
Conformance
Interoperability
Requirements
263
"
Risks/Contingencies
Risks
The developer executing the test is responsible for performing the
test as described in the associated documentation.
Contingencies
If a product fails compliance testing, modification of the product or
test must take place and the product retested before the product is
released for sale. Exceptions to this rule can only be approved by
representatives from (at minimum) the product developer,
Allen-Bradley marketing, Allen-Bradley technology development,
and Allen-Bradley program management.
264
Audit Procedure
Chapter
27
Page
272
273
273
272
273
Device-specific
Application Configuration
Data
Device-specific
Non-volatile Storage Data
274
Notes:
Chapter
28
The ControlNet network configuration is stored in devices on the
network that have non-volatile storage. These devices are capable of
updating other devices configurations; a device with this capability
is called a ControlNet Configuration Manager (CCM). One
device capable of performing the configuration manager function is
the PLC5 processor.
Configuration parameters that must be retained after a power failure
are stored in a CCM. All devices on a ControlNet network, except
for autoaddress nodes, have an entry in the CCM Reservation Table
and are called kept devices. It is the responsibility of the CCM to
distribute this configuration to kept devices.
This chapter contains these sections:
Section
CCM Overview
Page
CCM Overview
281
Temporary CCM
282
Real CCM
283
Auto-address Node
285
Network Resource
285
282
Temporary CCM
Real CCM
283
284
Auto-address Node
285
Network Resource
286
"
Chapter
29
The network parameters must be the same in all devices on a given
network; these parameters define the network for the ASIC in each
device. A programming device is required to query the user for the
basic parameters like the Network Update Time, cable lengths,
repeater count, SMAX, UMAX, etc. used in the calculations to
determine the remaining network parameters, such as Guardband
and Slot time.
Port parameters are specific to each device on the network; different
devices have different port parameters and identical devices may
have some different port Parameters. Port parameters include those
related to specifying message transmission rates.
See the ControlNet object description in Appendix A for more
information.
This chapter contains these sections:
Network Parameters
Section
Page
Network Parameters
291
Port Parameters
293
292
NUT
The Network Update Time in 10 microsecond tics; a basic network
parameter that determines the fastest transmission times over the
network. The smallest value for the NUT is 2 milliseconds (200
ticks).
smax (USINT)
The Scheduled Maximum Node MAC ID on the network (199).
This parameter is the MAC ID of the last node which obtains
scheduled access; it should be set to reflect the actual highest MAC
ID of all the devices on the network. Specifying more MAC IDs
than are actually present will waste small amounts of the network
bandwidth.
umax (USINT)
The Unscheduled Maximum Node MAC ID on the network, used by
autoaddress nodes (at least smax + 8); it is the MAC ID of the last
node which obtains unscheduled access to the network.
slot_time (USINT)
The Slot Time is the time that nodes wait to see if the node which
currently has the token is going to use it. The actual value used for
the slot time depends on the length of cable used in the network and
the number of repeaters present.
blank_time (USINT)
The Blanking Interval, in bytes; assumed to be a constant (6 bytes);
this is the time in bytes that the receiver will be deaf after a
transmission. (This helps avoid problems with echoes on the
network.
gb_start (USINT)
The Guard Band Start, in 10 microsecond ticks is the time before the
next ASIC tone where the guardband should start. This is a
calculated parameter based on the NUT parameter, number of
repeaters and cable lengths.
293
gb_center (USINT)
The Guard Band Center, in 10 microsecond ticks, is the time before
the next ASIC tone, where the moderator will begin transmitting the
moderator frame. This is a calculated parameter based on the NUT
parameter, number of repeaters and cable lengths.
int_cnt_mod (USINT)
Interval Count Modulus is fixed at 255. The interval count can be
adjusted to allow for nonpoweroftwo macrocycles.
gb_prestart (USINT)
The Guard Band Prestart, in 10 microsecond ticks, is the time before
the next ASIC tone beyond which nodes may not transmit.
A calculated parameter based on the NUT parameter , number of
repeaters and cable lengths. (This parameter is larger than gb_start
to allow for propogation delays and clock mismatch.)
Port Parameters
The port parameters are device specific data, associated with each
possible MAC ID in the network (1 thru 99).
sched_max_frame (USINT)
The sched_max_frame is a parameter limiting the amount of
scheduled traffic which can be generated by a node. A value of 0
indicates the node will not transmit scheduled data; anything sent
scheduled will instead be placed into the unscheduled bandwidth.
This parameter is a number of 16-bit words between 0-255.
294
status (USINT)
CCM status:
bit 0 = 0 for a future reservation and bit 0 = 1 for a current
reservation.
bit 1 = 0 for a nonCCM device, bit 1 = 1 for a CCM.
macrocycle_start (USINT)
The nodes macrocycle start NUT number, used to schedule data from
multiple nodes on the network. A value of 0 means that the
macrocycle will start on this nodes first NUT. The macrocycle_start
value is less than or equal to the macrocycle_length. (This parameter
is not currently used by ControlNet Phase 1.0.)
macrocycle_length (USINT)
The number of NUTs required for the nodes data minus 1; a value
of 0 implies a single NUT macrocycle, where the node will transmit
scheduled data every NUT. (This parameter is set to the fastest rate
of the ControlNet node.)
macrocycle_count (USINT)
Number of consecutive NUTs within a macrocycle allocated to the
scheduled rate (0 128); values of macrocycle_count less than
macrocycle_length indicate that a node is expected to not transmit
during portions of the scheduled rate. A value of 0 indicates the
node will not transmit during the scheduled portion of the NUT.
(This parameter is not currently used by ControlNet Phase 1.0.)
macrocycle_multiplier (USINT)
Array of bits used to specify which rates to enable in a device
[1,2,4,8,16,32,64,128]. The number of NUTs in a nodes macrocycle
determines the fastest possible data rate; the multiplier sets the
nodes data rates based on the macrocycle rate. A nodes macrocycle
is the nodes fast data production rate and a multiple of the
macrocycle will be one of the nodes slow data production rates.
A value of 0 for the macrocycle_multiplier means the fast and slow
rates are equal. For nodes which support only a fast and slow rate,
the multiplier represents the number of macrocycles for the single
slow rate.
Chapter
30
Section
Page
301
Possible Schedules
304
Multiple Rates
305
Accepting/Rejecting Connections
306
Order Of Connections
307
308
309
3012
302
ControlNet Rates
Scheduled
Lpackets
Scheduled
Interval
Unscheduled
Lpackets
Unscheduled
Interval
tone
moderator
slot, alias
the guardband
The tone is the instant in time which marks the boundary between
two periodic intervals. It is considered to be the first event in the
Periodic Interval. There is a gap of 20 microseconds between the
tone and the first scheduled interval transmission slot.
ControlNet Rates
303
304
ControlNet Rates
Possible Schedules
Macrocycle
NUT 0
Case 1
Case 2
Case 3
NUT 1
a,b
a,b
ControlNet Rates
Multiple Rates
305
Example:
Rate 1
Rate 2
Rate 3
Network Parameter:
nut_time = 500tics (5 milliseconds)
Port Parameter:
Schedule_max_frames = 50 words (100 bytes) per NUT
macrocycle_length = 1 (2 NUT macrocycle)
macrocycle_multiplier = 6 (rates of 1, 2 and 4 times the macrocycle enabled)
Fwd_opens:
(a) 50 bytes @ 10msec (Rate 1)
(b) 60 bytes @ 10msec (Rate 1)
(c) 30 bytes @ 20msec (Rate 2)
(d) 40 bytes @ 40msec (Rate 3)
After the forward opens have been received the following schedule
should be created.
"
Macrocycle 1
Macrocycle 2
Macrocycle 3
50
b
c
50
60
a,c
50
60
30
d
Total bytes
b,d
50
60
60
30
40
80
100
50
60
80
60
50
60
306
ControlNet Rates
Macrocycle 1
Macrocycle 2
Macrocycle 3
b,d
50
a,c
50
60
30
a,e
50
60
60
30
40
Accepting/Rejecting
Connections
50
60
d
Total bytes
a,e
30
80
100
30
80
60
80
60
80
60
(a)
33 bytes @ 10 msec
(b)
33 bytes @ 10 msec
(c)
33 bytes @ 10 msec
ControlNet Rates
307
Order Of Connections
"
Macrocycle
Packets scheduled
a
NUT 0
NUT 1
a,c
b,d
60
b
c
70
40
d
Total bytes
30
100
100
308
ControlNet Rates
If the order of the forward opens were changed, the 4th connection
would be rejected.
Fwd_opens:
Packets scheduled
a
NUT 0
NUT 1
a,c
60
b
c
Total bytes
70
30
90
70
ControlNet Rates
Implementation
ControlNet Rates
309
Table 30.A
Example ControlNet Devices
Device
Programming Tool
Scheduling Requirements
Fixed
1771 ACN
Breadthfirst transmission
scheduling
Sample Breadth-first
Accept/Reject Algorithm
MinniScanner
Breadthfirst transmission
scheduling
ICP ACN/SCN
Breadthfirst transmission
scheduling
*/
3010
ControlNet Rates
size_of(new_connection);
/* Move nut_ptr to next entry in the Scheduled_bytes */
/* array, corresponding to the next NUT.*/
/* The nut_ptr can not be shifted by a number */
/* greater than the Rate */
/*
*/
/*
Add the information for the new connection */
/*
into the master schedule entry */
entry>size = sizeof (new_connection);
entry>rate_index = rate_index;
entry>nut_ptr = nut_ptr[rate_index];
entry>tag = tag;
/*
Place the updated entry into the master schedule */
update_entry_pointers (entry);
}
/*
ControlNet Rates
3011
Rate 2
Schedule
3012
ControlNet Rates
Chapter
31
An offline configuration can be developed in a programming tool,
and later downloaded to a new or operating network. In either case,
the Network Change procedure must be followed to configure CCMs
and insure an orderly configuration of all kept devices.
If the programming tool must query a CCM to determine the
existing network configuration before continuing with an offine
configuration, it must first listen for the Network Resource
Present Message; if the message is detected, it must not access
any CCM on the network until there is no Network Resource
message detected for time of 2*UMAX*NUT.
While the terminal is accessing the CCM data, it must broadcast
the Network Resource Present Message, with the NR_flag bit 0
set to 1; this will lock out other programming terminals and
permit the CCMs to return to their normal operating state once
the NR message stops.
Offline configuration is identical to the online configuration,
with the exception that pending edits will not appear in the offline
configuration because the auto-configuration command will not
work offline.
This can be accomplished by using a driver for the offline
configuration that allows the programming device to operate as
though it were online.
Once the new configuration is downloaded to the controller,
a Network Change will occur to reconfigure the CCM and in turn
each device on the subnet.
312
Offline Configuration
Notes:
Chapter
32
A programming terminal finds devices on a link by using the WHO
command, once the devices are online through Real or Temporary
CCM action. The who command allows an application to identify
all the devices connected to either a specific ControlNet subnet or the
entire ControlNet network. The devices are identified by Keying
and Ownership data: vendor, module type, revision and serial
number.
Since all devices have an Identity object, who is just a
get_attributes_all to the Identity object.
When the programming tool must query a CCM to determine the
existing network configuration, it must first listen for the
Network Resource Present Message; if the message is detected,
it must not access any CCM on the network until there is no
Network Resource message detected for time of 2*UMAX*NUT.
While the terminal is accessing the CCM data, it must broadcast
the Network Resource Present Message, with the NR_flag bit 0
set to 1; this will lock out other programming terminals and
permit the CCMs to return to their normal operating state once
the NR message stops.
In general, the programming terminal must continue to broadcast
the Network Resource message until the programming terminal is
removed from the network.
If a Network Change or Port Change is performed, the Network
Resource NR_flag bit 0 will be set to 0, as part of the change
procedures; this will place the CCM on the subnet into a waiting
state, and allow the CCM to perform an abort change procedure
if the Network Resource Message stops for longer than
2*UMAX*NUT.
322
Online Configuration
Notes:
Chapter
33
Functionality
Section
Page
Functionality
331
Suggested Algorithm
332
Function
who( path, who_list)
Table 33.A
who() Parameters
Parameter Name
Description of Parameter
path
who list
Who_list will point to the list of devices found when the function
returns. Identifying information includes vendor, module type,
revision, status and serial number.
Returns
General Status Error Codes
Behavior
The who function is a breadthfirst search of the ControlNet network
or backplane. It consists of sending an unconnected
Get_Attributes_All message to the Device object of every possible
MAC ID on the ControlNet network, and to every possible slot
number on the backplane. The who must be able to handle circular
networks.
332
Suggested Algorithm
Chapter
34
Changing the network parameters on a ControlNet network requires
that control be stopped for a period of time while the network
parameters are changed. It is analogous to a warm boot.
The network will start again without removing the power.
A Network Change allows the user application to change the
attributes of all devices on one subnet of the ControlNet network at
the same time. By convention, only a network configuration
application may perform a Network Change of any subnet.
This service allows the user application to change the attributes of all
devices on one subnet of the ControlNet network at the same time.
By convention, only a network configuring application may perform
a Network Change of any subnet on the ControlNet network.
This chapter contains these sections:
Functionality
Section
Page
Functionality
341
Algorithm
342
Function
net_change( path, network parameters, port parameters, time)
Table 34.A
net_change() Parameters
Parameter Name
Description of Parameter
path
network_parameters
port_parameters
time
Returns
General Status Error Codes
342
Network Change
Behavior
The network change must minimize the risk of creating rogues on
the network. To do this, it will reset all nonCCM devices, thus
making them listenonly, until the sync change is complete. CCM
objects on the ControlNet network will have their attributes updated
and the ControlNet object in the same device will receive the new
parameters. After the sync command is complete and the sync
change is verified, the CCMs will be signalled to begin polling, and
will bring the nonCCM devices back online with the new, correct
parameters.
Algorithm
Services Required
Network Stop Causes a change into the associated Net
Change state, no other action for both CCM and Temp.
Apply Copy from current into non-volatile storage (CCM
only)
Abort Copy from NonVolatile storage into current (CCM
only); change state from Net Change into associated state (both).
Change Complete Causes a change from Net Change state
into associated state (both)
State Behaviors
Net Change state assumes that a CCM stops polling and stops
broadcasting a TUI
Set_attributes is only accepted in any of the three Net change
states
Reservation Table
The CCM object has only a current and nonvolatile copy of the
RT. The pending copy is eliminated. If it is needed for some
reason other than making a network change, the Network Change
procedure can be modified to accommodate it, and the above
definitions of the CCM/ temp CCM services must be revised.
Network Change
343
table (RT)
the new RT is correct and valid for the subnet being changed
the network change procedure is told who the CCMs are (this info
is stored in the CCM RT attribute 1)
a broadcast is not received by the sender (a separate local msg is
needed if the sender must get this msg)
a lonely interrupt does not transition out of any net change
state in the CCM or Temporary CCM
the sender (application doing the change) is either directly
connected to the ControlNet or has a proxy
344
Network Change
Network Change
345
Figure 34.1
Network Change Flowchart
Steps 1 and 2
Start Broadcasting Network
Resource, with NR_flag bit 0 =
0; all CCMs and temp CCMs
receiving this message will
perform the Network Stop
service, to enter the Net
Change state.
4
Broadcast apply_attribute message
(3 times plus send to self). Set
NR_flag bit 0 = 1 in subsequent NR
broadcasts.
Lonely or
Continue
6
Local Set_attribute to my
ControlNet object with new
parameters
Abort
7
TUI flag bit 0=1 (valid)
bit 1 = 1 (real)
Broadcast a set_attribute to the
bit 2 =0 (temp set)
ControlNet object with new params
(3 times)
Moderator starts when
another node comes online
8
Stop broadcasting Network
Resource
346
Network Change
CCM
TEMP
KEPT
no change
no change
no change
none
TEMP
KEPT
no change
no change
TEMP
no change
KEPT
no change
Network Change
347
TEMP
KEPT
no change
no change
If the Lonely state can not be obtained after 5 seconds, then the
user must choose one of two options:
A. The Network Change may be aborted; steps 3 and 4 must be
repeated with the old saved network and port parameters.
Then the user can go and isolate the nodes that would not go
Lonely.
B. The user can choose to continue on with the Network
Change; eventually the nodes that do not participate in the
Network Change will go Rogue, and can be identified by
their railroad red LEDs.
Behavior of
CCM
TEMP
KEPT
all go to listen only
TEMP
KEPT
same as above
348
Network Change
TEMP
KEPT
comes online
Network Change
349
TEMP
KEPT
no change
no effect
TEMP
KEPT
no change
no change
no change
3410
Network Change
Notes:
Chapter
35
Changing some of the port parameters on the ControlNet network
can be performed while the network is running as long as the new
port attributes dont cause a violation of the network parameters.
The device that is being changed will be stopped when the port
changes are made.
This service allows the user application to change the port attributes
of a device on one subnet of the ControlNet network. By
convention, only a network-configuring application may perform a
port change of a device on any subnet on the ControlNet network.
This chapter contains these sections:
Functionality
Section
Page
Functionality
351
Algorithm
352
Function
port_change( path, port parameters, time)
Table 35.A
port_change() Parameters
Parameter Name
Description of Parameter
path
port_parameters
time
Returns
General Status Error Codes
352
Port Change
Behavior
The Port Change must minimize the risk of creating rogues on the
network. The CCM object on the ControlNet network will have its
port attributes updated, and the ControlNet object in the same device
will receive the new parameters; then the device whose port
parameters are to change will have the pending port parameters of its
ControlNet object changed, before being sent a local synch change
command. After the Port Change command is complete and the Port
Change is verified, the CCM will be signalled to continue polling.
Algorithm
Port Change
353
6. Verify that the CCM has the correct copy of the parameters.
Send a series of get_attribute_list or get_single messages to
the CCM to retrieve the attributes sent to the CCM objects in the
step above. Compare each with the original attributes sent. They
should match exactly.
If any message or the compare fails at this point, retry the
message or resend the attributes. If this cannot be fixed, send
the classspecific service abort_change to the CCM, return an
error to the application, and abort the rest of the port change
7. Update the ControlNet objects of the CCM.
From the port_parameters argument passed to the function, find
the port parameters for the CCM device by MAC ID. Combine
these with the existing network_parameters so that there is one set
of values for each MAC ID. Save these pending_config
attributes of each ControlNet object. Send a set_single
message containing the attribute values saved above to the
ControlNet object of the CCM device. This will put the proper
new port parameters into the CCM ControlNet object.
If there are errors at this point, the original parameters, saved
above must be sent to both the ControlNet object of the CCM
device and the CCM object of the CCM device. Then send the
abort_change to the CCM object, return an error to the
application and abort the rest of the Port Change.
8. Do a verification. Send a get_single to the ControlNet object
of the CCM device to obtain the pending_config attribute values.
Compare each retrieved attribute with what was saved above.
They should match exactly.
If any message or the compare fails at this point, retry the
message or resend the attributes. If this cannot be fixed, send
the original parameters saved to both the ControlNet object of the
CCM device and the CCM object of itself. Then send the
classspecific service abort_change to the CCMs return an
error to the application, and abort the rest of the Port Change.
9. Send new port parameters to the ControlNet object of the
appropriate device via an unconnected set_attribute_list or a
series of set_single messages.
These messages must be unconnected since the CCM object will
disallow connections while in this state.
10. Do a verification.
Send a get_single to the ControlNet object of the device that
just received the new port parameters to obtain the
pending_config attribute values. Compare each retrieved
attribute with what was sent They should match exactly.
354
Port Change
Chapter
36
This chapter contains these sections:
Section
Page
361
Deleting A Device
361
Replacing A Device
361
362
Powering Up
362
Powering Down
362
363
Redundant Network
363
363
364
364
364
Adding A Device To An
Existing Network
Deleting A Device
network.
To take away the network reservation for a device, possibly to
optimize the network, a Network Change is required to
redistribute the updated reservation table.
Replacing A Device
362
Modifying Device
Parameters
Powering Up
Cold Power Up
A system that was previously configured, or that has lost power in
the middle of a Network Change, is configured by its CCM, with
whatever the CCM thinks is correct.
Warm Restart
When a system that was configured and running has power removed
and returned (before the complete power down sequence has been
completed), it may have some nodes that enter the listenonly state
and other nodes that continue operating. Kept nodes that enter the
listenonly state will be configured and brought back online by the
CCM. If the CCM executes its powerup sequence, it will get the
correct network and port parameters from nonvolatile storage, and
use these parameters to bring other nodes in listenonly mode online.
Powering Down
363
Redundant Network
364
Evil CCM
There is a small possibility, as a result of the move, that the network
MAC Parameters of the moved CCM will match the networks MAC
Parameters; then if the reservation table of the CCM is different, the
new CCM could take over the network undetected, and cause
difficult problems.
Behavior: Listen-only
Node
Chapter
37
This chapter defines terms you need to know to understand
ControlNet system configuration.
CCM
A ControlNet device which stores and distributes network and port
parameters for an entire ControlNet link.
Temporary CCM
A service performed by CCMs and and programming terminals.
The purpose of the Temporary CCM is to establish a new network in
the absence of a configured Real CCM and to maintain an existing
network when the Real CCM is removed from the network.
A Temporary CCM does a Datagram broadcast of network
parameters with zeroed port parameters.
Link
A collection of nodes with unique addresses (in the range of 199).
Segments connected by repeaters make up a link; links connected by
bridges make up a network (this replaces subnet).
Listen-only Mode
A state that all devices enter during their power-up sequences; a
device in listen-only is circulating moderator packets and can receive
data from any node on the subnet. The listen-only mode device can
not transmit.
Moderator
Node with the lowest MAC ID; responsible for circulating MAC
Packets.
Master CCM
A device capable of performing the CCM function, with the lowest
MAC ID of all the devices on the network capable of being the
CCM.
372
Network Parameter
Those network parameters which must be the same for every device
on the subnet. This is the attribute net_config for the ControlNet
CCM Object and the pending_net_config portion of the
pending_config_ attribute of the ControlNet object.
Network Resource
An object in the ControlNet device which governs changing the
attributes of a CCM object. The object ensures that only one
application may change the CCM attributes at a time.
Port Parameter
Those parameters of the ControlNet object which may be different
for different devices on the subnet. This is the sched_rate portion
of the pending_config attribute of the ControlNet object. In the
CCM object, the port parameters are in the port_config attribute.
Powered-on Node
A node with active LEDs.
Reservation Table
The term for the network and port parameters for all scheduled nodes
on an entire subnet. This table is defined by the attributes for the
CCM object. Within one subnet, there is one set of network
parameters plus one set of port parameters for each node.
Subnet
A portion of a ControlNet network where all devices are attached to
a single cable run; formerly known as a link.
Port
A connection to a network; on the ControlNet network, a node is
equated with a device and there is 1 port per MAC ID.
373
Rogue Node
A node whose MAC parameters do not match the associated
parameters of its network CCM.
Evil CCM
A device with an incorrect reservation table that has become the
network CCM.
Rogue Event
When a Rogue node transmits a moderator packet; this will probably
effect network transmissions.
Lonely
Condition where a node finds itself on a network where no
moderator is circulating, implying there are no other active nodes on
the network.
374
Notes:
Chapter
38
Page
382
System Requirements
382
383
385
386
382
"
If you want to view the messages or data packets being sent on the
network, use the ControlNet Traffic Analyzer tool (9220-TA).
System Requirements
Term
Definition
CNXOR.CFG
PIT
packets
MAC ID
SMAC
Item
microprocessor
operating system
memory
hard disk space
video adapter and
monitor
diskette drive
ISA/EISA bus
communication interface
pointing device
Description
486 33 Mhz PC AT or higher
MS-DOS 3.3 or higher
4 MB or higher
8 MB
VGA or high-resolution
super VGA display (800 x 600)
minimum: VGA card and a display capable of 640x480 VGA
one 3.5 high-density diskette drive
ControlNet 9220-KTCT test card
Microsoft Mouse or compatible
The amount of hard disk space determines how much data you can store to disk files.
Important:
383
1. Insert the tool disk into your computers 3.5 disk drive.
2. Create a directory on your hard drive for the tool:
mkdir tg
Enter
Enter
4. Copy the contents of the tool disk to the directory you created:
copy A:*.*
Enter
Enter
You see:
384
6. Click with your right mouse button in the Current Status window
to close it.
"
To navigate through the tool, use your left mouse button to access
drop-down menus, cascading menus, and dialog boxes, and your
right mouse button to close them.
drop-down menu
cascading menu
dialog box
385
From the Setup drop-down menu, you can set these configuration
options:
This parameter:
Simulation
Is used to:
display the tools menus and capabilities without actually
communicating with a node on the network. While in this mode,
the tool does not interface with the 9220-KTCT card.
Online
set the tool online in the ControlNet network and set the
9220-KTCT card in an online mode. The 9220-KTCT card waits
for a moderator message to go online. Once the 9220-KTCT card
is online, the tool acquires the current network parameters and is
configured to them.
Offline
take the tool and 9220-KTCT offline from the ControlNet network.
This is the default setting for the 9220-KTCT card and the tool.
Port Number
Mac ID
Target Mac ID
CN Parameters
The tool selects a default value based on the configuration file at start-up.
386
This figure shows the functional blocks for navigation through the
tool, with each block representing a single window.
Main Menu
Status
Display
Send Unconnected
Messages
Open
Connections
Send Connected
Messages
Traffic Generator
Data Bytes
Data Patterns
Data Repeater
See page:
386
387
387
388
388
3812
Closing a connection
3813
3814
3817
3817
3817
387
388
389
Transitioning to Online..
3810
3. Open a connection.
From Connections, choose Open Connection and then choose the
type of connection you want to open.
"
D.
E.
To:
Choose:
send a message
As shown on
page 3811, in:
"
3811
displays...
then...
Important:
3812
To:
set the target nodes in the Listen Only mode
3813
Resetting a Device
To reset a device, choose Unconnected, Reset, and choose the object
you want to reset.
Closing a Connection
To close a connection, choose Connections, Close Connection
and choose the connection you want to close from the list of
open connections.
3814
You see:
Important:
3815
You:
Type help
Type the message enclosed in <>.
<xx xx xx xx>
a. press a function key
F1
to
F10
Shown in:
load filename
save filename
log filename
not shown
play filename
not shown
3816
"
You:
the Modules drop-down menu edit CNXOR.CFG to define your tests. These tests then
appear in the cascading menu that lists the tests. See
the figure below and page 3826.
3817
To:
Choose:
File, Exit
keyword
name
resource
value
Is:
a predefined identifier the traffic generator searches to know what to do.
Defined keyword
Defines
CN
ControlNet specific setup parameters
Object
ASA objects used by the target device
Connection
ASA connections used by the target device
Message
ASA messages that can be sent to the objects
Module
a module that has tests associated with it
Test
a test associated with a module
a user-provided identifier that groups a set of resources together. The
name:
must be an alphanumeric string
cannot contain a colon
cannot contain any spaces
is case sensitive
a predefined name data item.
the data to be used by the tool. This data is a numeric value, a data
byte string, or an ASCII string, depending on the resource being defined.
3818
3819
CN.___.title:
CN.___.originatorPortNum:
CN.___.originatorMacId:
CN.___.targetMacId:
CN.___.pit_time:
CN.___.smax:
CN.___.umax:
CN.___.slot_time:
CN.___.blank_time:
CN.___.gb_start:
CN.___.gb_center:
CN.___.redundancy:
CN.___.sched_max_frame:
CN.___.int_cnt_mod:
CN.___.gb_prestart:
CN.___.mcycle_start:
CN.___.mcycle_length:
CN.___.mcycle_count:
CN.___.mcycle_multiplier:
Description
Provides a list of ControlNet setup names to be
included in the SETUP>CN PARAMETERS cascading
menu. These names are shown in the menu unless a
CN.___.title resource is provided for each name. The
default parameters, if present, will be loaded
automatically upon startup of the program.
CN.name: default setup2ms setup5ms
Provides a title to be displayed in the
SETUP>CN PARAMETERS cascading menu. If it is
not provided, the name will be displayed.
CN.default.title:
Default
CN.setup2ms.title: Worst Case PIT
CN.setup5ms.title: Normal PIT
Specifies the 9220-KTCT card to use for the setup.
Valid port numbers: 03.
CN.setup2ms.originatorPortNum: 0
Specifies the network addresses (MAC IDs) of the
originator (9220-KTCT) and target devices. Valid
address: 0 99.
CN.default.originatorMacId: 1
CN.default.targetMacId: 2
These parameters make up the ControlNet Object
Attribute to send to the 9220-KTCTs ControlNet
Object.
CN.default.pit_time: 200
CN.default.smax: 5
CN.default.umax: 6
CN.default.slot_time: 21
CN.default.blank_time: 6
CN.default.gb_start: 12
CN.default.gb_center: 9
CN.default.redundancy: 3
CN.default.sched_max_frame: 255
CN.default.int_cnt_mod: 255
CN.default.gb_prestart: 15
CN.default.mcycle_start: 0
CN.default.mcycle_length: 0
CN.default.mcycle_count: 1
CN.default.mcycle_multiplier: 8
3820
Object Setup
Resource
Description
Object.name:
Object.___.title:
device mr rack
Object.___.number:
Object.
.max_instance:
Connection Setup
Resource
Connection.name:
Description
Provides a list of Connection names for the
Unconnected>Open Connection and
Close Connection cascading menus. These
names are displayed in the menu unless a
Connection.___.title is provided for each name.
Connection.name: mr rackio rackin
rackout cycbtr cycbtw
Connection.___.title:
Message Router
Connection.___.max_instance:
Connection.___.timeout:
Connection.___.epr:
3821
Description
Connection.___.net_t_o:
Connection.___.net_o_t:
Connection.___.class:
Connection.___.transport:
Connection.___.path:
2c 02 2c 01 80 05 01 00 0c 00 18 00 01
01 02 00
Connection.___.1stmsg:
Message.___.list:
Message.unconnected.list:
3822
Description
Message.___.title:
Message.___.data:
Module.name:
Module.___.title:
Module.___.tests:
Test.___.title:
Test.___.file:
3823
3824
3825
# 1 second epr
4816
480A
7C
01
2c 01 80 05 01 00 0c 00 18 00 01 01 02
00
Connection.rackio.1stmsg:
rout1
3826
Pattern 2
01 00 00 00 02 03 04 05
Message.rout3.title:
Message.rout3.data:
Pattern 3
01 00 00 00 03 04 05 06
#
# Rack Output Message List
#
Message.rackout.list: rout1 rout2 rout3 rout4 rout5 rout6 rout7
rout8\
#
# Rack I/O Message List
#
Message.rackio.list: rout1 rout2 rout3 rout4 rout5 rout6 rout7
rout8 \
rout9 rout10 rout11
MR Object Test
acn_mr
Test.ftp3.title:
Test.ftp3.file:
CN Object Test
acn_cn
Test.ftp4.title:
Test.ftp4.file:
Test.ftp5.title:
Test.ftp5.file:
Test.ftp6.title:
Test.ftp6.file:
Test.ftp7.title:
Test.ftp7.file:
Cyclic BT Read
acn_cbtr
Test.ftp8.title:
Test.ftp8.file:
Cyclic BT Write
acn_cbtw
Test.ftp9.title:
Test.ftp9.file:
Cyclic BT Status
acn_cbts
Test.ftp10.title:
Test.ftp10.file:
Async BT Test
acn_abt
3827
To:
MG_Env ( )
3828
MG_Init ( )
3828
MG_Cleanup ( )
3828
MG_LoadCNSetup ( )
3828
MG_Online ( )
3829
MG_Offline ( )
3829
MG_OpenConnection ( )
3829
MG_CloseConnection ( )
3829
MG_SendUnconnected ( )
3830
MG_SendUnconnectedMsg ( )
3830
MG_ReceiveUnconnected ( )
3830
MG_SendConnected ( )
3830
MG_ReceiveConnected ( )
3831
MG_SendConnectedMsg ( )
3831
MG_RegisterClass ( )
3831
MG_UnregisterClass ( )
3831
See
page:
3828
/*****************************************************************\
**
** Name: MG_Env ( )
**
** Description:
** This function reads the Message/Traffic Generator environment
** variable and fills in the global configFile string.
**
** Inputs:
None
**
** Outputs: UINT status
SUCCESS
**
BAD_PARAMETER_VALUE
**
** Copyright (c) 1995, 96 AllenBradley Company
**
\*****************************************************************/
/*****************************************************************\**
** Name: MG_Init ( )
**
** Description:
** This function initializes the Message/Traffic Generator
** interface. It must be the first MG_ API function called.
**
** Inputs:
None
**
** Outputs: UINT status
SUCCESS
**
BAD_PARAMETER_VALUE
**
** Copyright (c) 1995, 96 AllenBradley Company
**
\*****************************************************************/
/*****************************************************************\**
** Name: MG_Cleanup ( )
**
** Description:
** This function cleans up after the Message/Traffic Generator
** interface. It must be the last MG_ API function called.
**
** Inputs:
None
**
** Outputs: None
**
** Copyright (c) 1995, 96 AllenBradley Company
**
\*****************************************************************/
/*****************************************************************\
**
** Name: MG_LoadCNSetup ( )
**
** Description:
** This function loads a CNet setup from the configuration file.
**
** Inputs:
USINT *setupName Name of setup to load.
**
** Outputs: UINT status
SUCCESS
**
BAD_PARAMETER_VALUE
**
** Copyright (c) 1995, 96 AllenBradley Company
**
\*****************************************************************/
3829
/*****************************************************************\**
** Name: MG_Online ( )
**
** Description:
** This function puts the Message/Traffic Generator in Listen Only
** mode until it receives a Moderator type packet, where at that
** time will go Online with the target, otherwise it will remain
** in Listen Only mode.
**
** Inputs:
None
**
** Outputs: UINT status
SUCCESS
**
** Copyright (c) 1995, 96 AllenBradley Company
**
\*****************************************************************/
/*****************************************************************\**
** Name: MG_Offline ( )
**
** Description:
** This function takes the Message/Traffic Generator offline with
** the target.
**
** Inputs:
None
**
** Outputs: UINT status
SUCCESS
**
** Copyright (c) 1995, 96 AllenBradley Company
**
\*****************************************************************/
/*****************************************************************\
**
** Name: MG_OpenConnection ( )
**
** Description:
** This function opens an ASA Connection with the target device.
**
** Inputs:
UINT *connIndex
Pointer to connection index that
**
will be filled in by the function.
**
USINT *connName
Name of connection from.
**
configuration file to be opened.
**
UINT instance Instance number of object to
**
connect to.
**
** Outputs: UINT status
SUCCESS
**
** Copyright (c) 1995, 96 AllenBradley Company
**
\*****************************************************************/
/*****************************************************************\**
** Name: MG_CloseConnection ( )
**
** Description:
** This function closes a previously opened ASA Connection.
**
** Inputs:
UINT connIndex
Connection index that was returned **
by the MG_OpenConnection function.
**
** Outputs: UINT status
SUCCESS
**
BAD_PARAMETER_VALUE
**
** Copyright (c) 1995, 96 AllenBradley Company
**
\*****************************************************************/
3830
/*****************************************************************\**
** Name: MG_SendUnconnected ( )
**
** Description:
** This function sends an unconnected ASA message provided by
** the user.
**
** Inputs:
USINT *message
Message to be sent.
**
UINT dataSize
Size, in bytes, of the
**
message to be sent.
**
** Outputs: UINT status
SUCCESS
**
** Copyright (c) 1995, 96 AllenBradley Company
**
\*****************************************************************/
/*****************************************************************\**
** Name: MG_SendUnconnectedMsg ( )
**
** Description:
** This function sends an unconnected ASA message from the
** configuration file.
**
** Inputs:
USINT *message
Message to be sent.
**
** Outputs: UINT status
SUCCESS
**
** Copyright (c) 1995, 96 AllenBradley Company
**
\*****************************************************************/
/*****************************************************************\**
** Name: MG_ReceiveUnconnected ( )
**
** Description:
** This function receives an unconnected ASA message from the UCMM.
**
** Inputs:
USINT *message Pointer to where to put the
**
received message.
**
UINT *dataSize
Size, in bytes, of the
**
message received.
**
** Outputs:
UINT status
SUCCESS if message received
**
FAILURE if no message received
**
** Copyright (c) 1995, 96 AllenBradley Company
**
\*****************************************************************/
/*****************************************************************\**
** Name: MG_SendConnected ( )
**
** Description:
** This function sends a user provided message on a Connection
** previously opened with a call to MG_OpenConnection.
**
** Inputs
UINT connIndex Connection index that was returned
**
by the MG_OpenConnection function.
**
USINT *message Message to be sent.
**
UINT dataSize Size, in bytes, of the message to
**
be sent.
**
** Outputs: UINT status
SUCCESS
**
** Copyright (c) 1995, 96 AllenBradley Company
**
\*****************************************************************/
3831
/*****************************************************************\**
** Name: MG_ReceiveConnected ( )
**
** Description:
** This function receives a message on a Connection
** previously opened with a call to MG_OpenConnection.
**
** Inputs:
UINT connIndex Connection index that was
**
returned by the MG_OpenConnection
**
function.
**
USINT *message Pointer to buffer for message.
**
UINT
*dataSize
Size, in bytes, of the message
**
received.
**
** Outputs: UINT status
SUCCESS if message was received.
**
FAILURE if no message was received.
**
** Copyright (c) 1995, 96 AllenBradley Company
**
\*****************************************************************/
/*****************************************************************\**
** Name: MG_SendConnectedMsg ( )
**
** Description:
** This function sends a message from the configuration file on a
** Connection previously opened with a call to MG_OpenConnection.
**
** Inputs:
UINT connIndex Connection index that was returned
**
by the MG_OpenConnection function.
**
USINT *message Message to be sent.
**
** Outputs: UINT status
SUCCESS
**
** Copyright (c) 1995, 96 AllenBradley Company
**
\*****************************************************************/
/*****************************************************************\**
** Name: MG_RegisterClass ( )
**
** Description:
** This function registers a class with the Message Router
** for receipt of the unsolicited messages.
**
** Inputs:
USINT class
ASA class to be registered.
**
** Outputs: UINT status
SUCCESS
**
** Copyright (c) 1995, 96 AllenBradley Company
**
\*****************************************************************/
/*****************************************************************\**
** Name: MG_UnregisterClass ( )
**
** Description:
** This function unregisters a class with the Message Router
** that was previously registered with MG_RegisterClass.
**
** Inputs:
USINT class
ASA class to be unregistered.
**
** Outputs: UINT status
SUCCESS
**
** Copyright (c) 1995, 96 AllenBradley Company
**
\*****************************************************************/
3832
Notes:
Chapter
39
Use this chapter to install and use the ControlNet traffic
analyzer tool (cat. no. 9220-TA). This information is also available
in the tools README file or online help.
This tool was designed for engineers and developers familiar with
network installation and troubleshooting. To use this tool efficiently,
you should be familiar with ControlNet protocols.
This chapter contains these sections:
Section
Introducing The Tool
Page
391
392
System Requirements
253
394
395
3910
Troubleshooting
3928
392
Use this table to become familiar with some of the tools terms.
This term:
Refers to:
Filtering
Lpacket
Trigger
Trigger Point
SMAC
F2
F3
F4
F5
F6
F7
F8
393
System Requirements
Item
microprocessor
operating system
memory
hard disk space
video adapter and
monitor
disk drive
ISA/EISA bus
communication interface
pointing device
Description
486 33 Mhz PC AT or higher
MS-DOS 3.3 or higher
4 MB or higher
8 MB
VGA or high resolution
recommended: ATI VGAWonder XL card and color, super VGA
display (800 x 600)
minimum: VGA card and a display capable of 640x480 VGA
one 3.5 high-density drive
ControlNet ISA/EISA bus tool (catalog no. 9220-KTCT)
for interfacing to the ControlNet network
Microsoft Mouse or compatible
The amount of RAM determines how much data you can capture4 MB captures 1.5 MB of data.
The amount of hard disk space determines how much data you can store to disk files.
Important:
Make sure:
394
1. Insert the tool disk into your computers 3.5 disk drive.
2. Create a directory on your hard drive for the tool:
mkdir directory_name
Enter
Enter
4. Copy the contents of the tool disk to the directory you created.
copy A:*.*
Enter
Enter
false
Alt
Alt
+
+
+
+
395
Ctrl
Alt
Del
ta
Enter
You see:
396
Important:
3. Click on Continue.
4. From Setup, choose SMAC Configuration, Initialize.
You see:
397
5.
If 9220KTCTs base I/O address is:
Then
default setting
Access
by holding down your right mouse
button and dragging the mouse to the right.
You activate online help for an area by moving your cursor
to the area, and clicking on it with your right mouse button.
This selection:
Is used to:
Input
Pre-Collection
Filters
398
This selection:
Is used to:
Trigger
define the trigger(s) for the next Run. If the source is a file, this
block displays the active trigger(s) when the data was collected from
the network. The options are Buffer Full, External, Pattern Seen,
and Pattern Not Seen. You can also use this block to toggle the
use of an External Trigger Seen Pulse.
Trigger Point
Layers Block
select the layer format for the data on the Main Scrolling List.
To display
Choose
Interpret
all layers and the data
LLC (LPacket)
the data broken into LPackets
MAC
show each MAC packet without interpretation
data exactly as it came from the SMAC
Data Only
PostCollection
Filters
Display Block
8.
To:
Choose:
399
You see:
10.
save the image file and continue
This saves the initialized analyzer image with information on your environment to the directory you
3910
This figure shows the functional blocks for navigation through the
tool, with each block representing a single window. Each window
contains a help menu that explains the windows menus and features.
Packet Details
Display
Analyzer Collection
and Display Setup
SMAC
Initialization
PC Color and
File Setup
See page:
3910
3911
3912
3913
3914
3915
3915
3916
3917
3919
3911
the time each packet was received relative to the Trigger Position/Packet
(in this case, the first packet)
3912
3913
Choose:
Pre-collection Filters, Select Filters
3914
Control bytes editoryou can edit each bit of the control byte
for an LPacket.
3915
3916
Choose:
Browse Disk
Lists directories
Lists files in
selected directory
Lists contents of
selected file
3917
Is available for:
a. network traffic
As shown in:
below
b. network utilization
timing
on page
3918
byte count
on page
3918
3918
"
To select more than one packet, hold the shift key and use your
mouse to select the additional packet(s).
3919
Examples
Use these examples for additional assistance on configuring the tool.
Example 1
This example shows you how to use the tool to:
S
S
S
S
collect all packets originating from nodes with 02 and 04 MAC IDs
collect 100 KB of data
detect when a fixed tag of Command Read Counters occurs
collect data before and after the fixed tag is detected
3920
3921
Enter
3922
7. Set a trigger to occur when a packet with a fixed tag of Read Counters is
detected passing through the filter.
A. From Trigger, choose Pattern Seen.
B. In any Tag field, click the left mouse button to select the tag, and
then the right mouse button to access the defined tags.
3923
D. Select Save.
F.
8. Set the trigger point to the middle of the buffer by clicking with your left
mouse button on the center box in the Trigger Point block.
3924
Enter
10. Make these changes active. Choose Exit, Make Setup Changes Active.
11.
To:
Choose:
3925
Example 2
This example shows you how to use the tool to view:
S
S
S
S
data as LP packets
all packets
data in ASCII to help find text string
collect data before and after the fixed tag is detected
3926
4. Set the filter option so that all packets in the buffer pass through to the
display block. From Post-collection Filters, choose Turn Filtering Off.
3927
Enter
7. Make these changes active. Choose Exit, Make Setup Changes Active.
8.
To:
save the image file and continue
Choose:
Exit, Save & Continue
3928
Troubleshooting
2. Choose Run.
3929
4. Choose run.
3930
Notes:
Chapter
40
Page
Shipping Protection
401
Solvent Resistance
401
Solderability
402
Mechanical Dimensions
402
Package Pinout
404
Block Diagram
406
Circuit Description
406
Truth Table
407
407
407
Electrical Characteristics
408
AC Characteristics
408
Shipping Protection
Solvent Resistance
402
Solderability
Mechanical Dimensions
403
Figure 40.2
Mechanical Dimensions, Single Channel Transceiver
(cat. no. 9904-HYBS)
404
Package Pinouts
405
Figure 40.4
Package Pinout, Single Channel Transceiver
(cat. no. 9904-HYBS)
406
Block Diagrams
Important:
Figure 40.5
Block Diagram (both cat. nos.)
Circuit Description
Truth Table
Transmitter
TX In
407
Receiver
eceiver
TX Out
TXEN
TX
TXBAR
XF1
XF3
RX Inputs
RX Outputs
H
H
L
L
L
H
Z
Z
Z
L
XF3-XF1
3- 1 > Vthh
thh
R =H
RX
RX = L
X
X
X
X
X
X
X
X
L
Z
Z
Z
Z
L
L
L
L
L
Z
Z
Z
Z
CD
D=L
CD
D=H
Absolute Maximum
Ratings
Recommended Operating
Conditions
Item
Symbol
Rating
Unit
Remarks
DC Supply Voltage
Vcc
0.0 to 7.0
TX Input Voltage
Vin, TX
-0.5 to Vcc+0.5
RX Input Voltage
Vin, RX
-12.0 to +12.0
Iin, TX
-20 to +20
mA
TX Output Current
Iol, TX
500
mA
Operating Temperature
Range
Topr
0 to +85
oC
Storage Temperature
Tstg
-65 to +150
oC
Input Capacitance
Cin
11
pF
Relative Humidity
Hstg
90
% R.H.
The input capacitance between pins XF1 and XF3 is a very sensitive point on the hybrid. This
parameter is sample tested on five pieces/production lot (minimum) to verify that Cin < 11pf. Test
conditions are 10mHz AC test frequency, 1V p-p amplitude using an HP4194A or equivalent
impedance analyzer.
No.
Rating
Symbol
Min
DC Supply Voltage
Vcc
4.5
TX Input Voltage
Vin, TX
Vin, RX
4.5
Iin, TX
Ioh, RX
Iol, RX
Topr
Typ
5
110
Max
Unit
5.5
Vcc
5.5
V
mA
-440
mA
85
oC
408
Electrical Characteristics
No.
AC Characteristics
Rating
Min
Typ
4.5
5.5
4.5
5.5
Vcc
3.15
3.85
2.25
2.75
2.25
2.75
110
Max
Unit
1.35
1.65
V
V
V
V
+/-0.1
4.5
1.00
Vol, RX
4.5
0.45
Voh, RX
4.5
Ioh, RX
-440
Iol, RX
mA
Ios, RX
-85
mA
10
Iccq
5.5
54
74
mA
11
Vz+, XFx
5.5
11.8
54
13.2
Vdc
12
VZ-, XFx
5.5
-13.2
54
-11.8
Vdc
Tx Input High
igh Voltage
oltage
Vih,
ih, TX
T
T Input Low
TX
Lo Voltage
oltage
Vil,
il, TX
T
Iin, TX
5.5
Vol, TX
2.7
-15
Symbol
Parameter
Symbol
Min
Typ
Max
fd
Vthh
Vthl
Hysteresis
Vhyst
Vcdl
Vcdh
Vcc - 255
mV
Receiver Input
Resistance (XF3 input
to AC ground)
Rin, XF3
12k
Ohms
Receiver Input
Resistance (XF1 input
to AC ground)
Rin, XF1
6k
Ohms
Unit
Mbaud
120
-120
mV
mV
50
mV
Vcc - 23
mV
Chapter
41
Page
411
Solderability
411
Shelf Life
411
Solvent Resistance
411
Connections
412
Package Dimensions
412
413
Electrical Characteristics
413
Environmental Characteristics
413
Allen-Bradley
Manufacturing Notes
Solderability
Shelf Life
Solvent Resistance
412
Connections
Part Number
Rev
Description
CI
R1
(max)
943649-02
15 pF
80
Package Dimensions
Min
Max
0.530 (13.46)
0.508 (12.90)
0.200 (5.08)
D, E
0.102 (2.58)
0.169 (4.30)
G
H
0.180 (4.57)
0.007 (0.2)
I, J
0.045 (1.15)
0.134 (3.40)
The figure below shows the package dimensions listed in the table
above.
Absolute Maximum
Ratings
Electrical Characteristics
Environmental
Characteristics
413
Limits
Parameter
Operating Temperature Range
0oC to +85oC
-55oC to +125oC
Drive Level
1.0 mW
Parameter
Specifications
Frequency
See Tabulation.
Frequency Tolerance
Temperature Stability
Mode of Operation
See Tabulation.
Cut
AT equivalent
Mode of Oscillation
Third overtone
100
Holder
MA -506
5.0 pf
Aging
5 PPM max./yr.
Parameter
Conditions
Frequency Change
Thermal Shock
$5 PPM max.
Mechanical Shock
$5 PPM max.
Random Vibration
$5 PPM max.
Seal
1 EE -8 atm cc/sec
$5 PPM max.
414
Notes:
Chapter
42
This chapter introduces the ControlNet crystal oscillator(cat. no.
9904-OSC). It contains these sections:
Section
Page
421
421
Supplier Source
421
Solvent Resistance
422
Solderability
422
Wave Solderable
422
Shelf Life
422
Figures
423
Package Dimensions
424
Truth Table
424
Pin Description
424
425
Electrical Characteristics
425
Environmental Characteristics
426
Supplier Source
422
Solvent Resistance
Solderability
Wave Solderable
The part shall maintain its hermiticity when subjected to wave solder
temperature of 260o C +/-5o C for 10 seconds maximum to a
distance of 0.025 inches from the oscillator body.
Shelf Life
Part Number
Rev
Description
Startup Time
(msec)
943749-21
10
Figures
423
The figures below show various views of the crystal oscillator. All
dimensions are in inches, unless noted otherwise. Unless otherwise
specified:
Material:
Housing Ceramic
Lid Kovar metal
Contacts Tungsten
Finish:
3.81 micron (150 micro-inches) minimum Tin-lead over
1.27 microns (50 micro-inches) minimum Nickel
Figure 42.1
Bottom View
Figure 42.2
Top View
Figure 42.3
Side View
424
Figure 42.4
Suggested Solder Pad Layout
Package Dimensions
Truth Table
Min.
A
0.295
0.205
0.102
0.045
0.055
0.210
0.084
0.020
0.040
0.020
0.030
Enable
Disable
Pin Description
Max.
Enable/Disable
Ground
Output
+5 VDC
Absolute Maximum
Ratings
Electrical Characteristics
425
Parameter
Max.
0 to 85
Units
oC
-55 to 125
oC
Input Voltage
5.5
Supply Voltage
7.0
Parameter
Conditions
Min.
Max.
Units
Supply Voltage
4.5
5.5
Breakdown Voltage
-0.5
50
mA
<50 MHz
50
pf
<50 MHz
15
pf
1 minute maximum @
25o C
50
mA
Frequency Stability
+/-100
PPM
Symmetry
@ 1/2 VDD
60/40
Logic 0 (Vol)
@ Cl = 50 pf
0.5
Logic 1 (Voh)
@ Cl = 50 pf
@ 0.4 V
16.0
@ 3.7V
-16.0
10-90% VDD, 50 pf
10
ns
10-90% VDD, 50 pf
10
ns
Enable/Disable Time
100
ns
@ VDD = 5.0V
@ VDD = 5.0V
0.8
@ VDD = 5.25V
50
@ VDD = 5.25V
-2
mA
Supply Current
40/60
VDD -0.5V
2.2
V
V
Startup time is the time measurement from the instantaneous application of VDD to an oscillating
output. The specification applies over the operating temperature range and voltage range of the
device.
426
Environmental
Characteristics
Parameter
Conditions
Frequency Change
1500 G, 0.5 mS, 3 shocks per direction per method 2002 of MIL-STD-883
Sinusoidal Vibration
Random Vibration
2.0 kV minimum
Aging
Figure 42.5
Output Waveform
+/- 10 PPM/yr.
maximum
Chapter
43
This chapter introduces the ControlNet transformer (cat. no.
9904-XFMR). It contains these sections:
Section
Page
Shipping Protection
431
Solvent Resistance
431
Solderability
432
432
Approved Vendors
432
Mechanical Information
432
Construction Information
434
Electrical Characteristics
435
Shipping Protection
Solvent Resistance
432
Solderability
Industry Standards
Requirements
Approved Vendors
Mechanical Information
Core Information:
Size Industry standard type EP-7 Ungapped
Material Magnetics, Inc. F minimum AI value =
1100mH/turn
Bobbin Information:
Size 6-pin single-section PCB mount (must use Siemens
B65840-A1000-D1)
Pin Notes Cross-section maximum diameter or diagonal
0.028
Cross-section minimum diameter or diagonal
0.018
Length Must extend at least 0.100 but no more than
0.156 below mounting surface line
Solderability Shall conform to MIL-STD-202, Method
208, latest revision
Clip Information:
Size Must use Magnetics, Inc. EP7 clips
Use clips to hold the core halves together. Do not use glue
Clip Pin Notes Cross-section maximum diameter or
diagonal 0.020
Cross-section minimum diameter or
diagonal 0.012
Wire Information:
36 AWG solid copper magnet wire with double (1 Mil)
insulation
Insulation System:
All materials must be compatible with UL Class A (105o
C) or better
Flammability:
All materials must be compatible with UL-94V-0, V-1 or
V-2
433
Figure 43.1
Top View
Figure 43.2
Side View
Figure 43.3
Required PCB Hole Pattern
434
Construction Information
The figures below show package pinouts for the transceiver hybrid.
Figure 43.4
Construction Schematic
Figure 43.5
Schematic Symbol
Electrical Characteristics
435
Electrical Specifications
All specifications are rated at 25o C.
Table 43.A
DC Resistance
Winding Pins
Maximum Resistance
1 to 2
500 mOhms
2 to 3
430 mOhms
4 to 6
475 mOhms
Typ.
Inductance
350 uH
750 uH
Winding Capacitance
16.0 pf
24.8 pf
29.5 pf
8.0 K
9.1 K
11.2 K
Inductance
Resonant Frequency
Max.
255 nH
441 nH
625 nH
1.0 MHz
1.4 MHz
1.8 MHz
@ 40 KHz 100mV
@ 10 MHz
Short pins 4 and 6; measure from 1 to 2
Dielectric Test
Each transformer must be subjected to the following dielectric test.
Failure is defined as a current flow greater than 1.0 mA AC. All
tests may be conducted at room temperature. The AC waveform
used shall be essentially sinusoidal, 47-63 Hz. Any of the following
combinations of test voltage and time are acceptable:
500 Vac rms for 1 minute
or
600 Vac rms for 1 second
STRAP PINS: 1, 2, 3;
4,6.
TEST FROM: 1, 2, 3 to 4, 6;
1, 2, 3 to CORE;
4, 6 to CORE.
436
Notes:
Chapter
44
Page
Features
442
Overview
443
Description
446
CNA10 Pins
447
Network Configurations
4432
Package Dimensions
4445
Maximum Ratings
4447
Electrical Characteristics
4449
4450
4451
LEDs
4461
System Considerations
4467
4470
Errata
4471
442
Features
443
Figure 44.1
CNA10 with Redundancy and NAP Connection
Vdd
ALE or
/AS
Address Bus
CPU
Data Bus
/CE
TxDataOut
ALE/AS
TxDataBar
NetEnb_A
Addr[11:0]
G_NetEnb
NetEnb_B
Data[7:0]
/Rd or /DS
/Rd_/DS
/Wr or R/W
/Wr_R/W
Interrupt
Irq0
Ready or
/Dtack
Ready
or /Dtack
RxData_A
RxCarrier_A
RxData_B
RxCarrier_B
/TxPTC
/RxPTC
Tx_A
Tx_B LANXCVR
TxBar_A
TxBar_B
TxEnA Hybrid
XF1_A
TxEnB
Rx_A
Cd_A
Rx_B
Cd_B
Xtal_In
Xtal_Out
XF1_B
NAP
Rcvr/Drvr
CH B
NAP Tx
NAPRx
Channel A LED
LED_B_Red &
LED_B_Green
Channel B LED
ROM_Data[7:0]
Xfmr
XF3_B
LED_A_Red &
LED_A_Green
ROM_Addr[15:0]
CH A
XF3_A
CNA10
MacID[7:0]
Xfmr
ROM
RAM
or FLASH
Memory
Vss
Overview
444
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
60
59
58
57
56
55
54
53
52
51
Tone
/Irq0
ROM_Addr[1]
/Irq1
Data[0]
ROM_Addr[2]
Data[1]
Data[2]
ROM_Addr[3]
Data[3]
ROM_Addr[4]
Vss
Vdd
ROM_Addr[5]
Data[4]
Data[5]
ROM_Addr[6]
Data[6]
Data[7]
ROM_Addr[7]
Ready
/Dtack
Vss
ALE/AS
/CE
Figure 44.2
TQFP CNA10 Pin Placements
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
VLSI
(Date) (Assy) (Fab) (Die) (Lot)
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
/Rd_/DS
/Wr_R/W
ROM_Addr[8]
MacID[0]
MacID[1]
ROM_Addr[9]
MacID[2]
MacID[3]
Vss
ROM_Addr[10]
n/c
Vdd
ROM_Addr[11]
MacID[4]
MacID[5]
ROM_addr[12]
MacID[6]
MacID[7]
ROM_Addr[13]
/HBE
Addr[0]
ROM_Addr[14]
Addr[1]
Addr[2]
Addr[3]
/Sys_Reset
/TME
ROM_Data[4]
/Test_Clk
ROM_Bypass
Vss
ROM_Data[3]
Vdd
ROM_Data[2]
Xtal_Out
/Xtal_In
ROM_Data[1]
Clock_Out
ROM_Data[0]
Vss
Addr[11]
Addr[10]
Addr[9]
Vdd
Addr[8]
Addr[7]
Addr[6]
ROM_Addr[15]
Addr[5]
Addr[4]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
LED_B_Green
LED_B_Red
ROM_Addr[0]
LED_A_Green
LED_A_Red
G_NetEnb
/Reset_Out
n/c
Vdd
Monitor
Vss
NetEnb_B
NetEnb_A
n/c
ROM_Data[7]
/RxPTC
/TxPTC
TxDataBar
ROM_Data[6]
TxDataOut
RxMisc_B
RxData_B
ROM_Data[5]
RxMisc_A
RxData_A
445
100
99
98
97
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
81
ROM_Addr[0]
Led_A_Green
Led_A_Red
G_NetEnb
/Reset_Out
n/c
Vdd
Monitor
Vss
NetEnb_B
NetEnb_A
ROM_Data[7]
/RxPTC
/TxPTC
TxDataBar
ROM_Data[6]
TxDataOut
RxMisc_B
RxData_B
ROM_Data[5]
Figure 44.3
MQFP CNA10 Pin Placements
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
60
59
58
57
56
55
54
53
52
51
RxMisc_A
RxData_A
/Sys_Reset
/TME
ROM_Data[4]
/Test_Clk
ROM_Bypass
Vss
ROM_Data[3]
Vdd
ROM_Data[2]
Xtal_Out
/Xtal_In
ROM_Data[1]
Clock_Out
ROM_Data[0]
Vss
Addr[11]
Addr[10]
Diag_Int
Addr[9]
Vdd
Addr[8]
Addr[7]
Addr[6]
ROM_Addr[15]
Addr[5]
Addr[4]
Addr[3]
Addr[2]
ROM_Addr[8]
MacID[0]
MacID[1]
ROM_Addr[9]
MacID[2]
MacID[3]
Vss
ROM_Addr[10]
Vdd
ROM_Addr[11]
MacID[4]
MacID[5]
ROM_Addr[12]
MacID[6]
MacID[7]
ROM_Addr[13]
/HBE
Addr[0]
ROM_Addr[14]
Addr[1]
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
VLSI
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Led_B_Red
Led_B_Green
Tone
/Irq0
ROM_Addr[1]
/Irq1
Data[0]
ROM_Addr[2]
Data[1]
Data[2]
ROM_Addr[3]
Data[3]
ROM_Addr[4]
Vss
MS/Mio
Vdd
ROM_Addr[5]
Data[4]
Data[5]
ROM_Addr[6]
Data[6]
Data[7]
ROM_Addr[7]
Ready
/Dtack
Vss
ALE/AS
/CE
/RD_/DS
/WR_R/W
446
Description
447
Figure 44.4
CNA10 Block Diagram
Clock_Out
Host
Interface
ROM ROM
Bypass Addr
ROM
Data
Comm
Processor
Dual Port
16 bit RISC
3k x8 RAM
1k x 16 RAM
Test_Clk
Clock
Modem
Tx
Assm
RxBlock
Jabber
Rx
Sys
Host_Stuff
LED
Cntrl
Registers
M
U
X
LEDs
Fixed Timer
Parallel MacID port
Padring, etc.
TxDataOut
Tx_PTC
High_Speed
Clock &
Data Rcvry
Ch A
RxData_A
Ch B
RxData_B
PTC
Rx_PTC
MAC
Processor
8 bit RISC
6k x 8 ROM
Tone
NetEnb_A
NetEnb_B
G_NetEnb
256 x 8 RAM
/TME
Network Address
NUT timer
Slot Timer
CNA10 Pins
This section will define the pin configurations for the CNA10. The
slash character (/) preceding a signal name denotes active low.
Signals with one name, a slash, and a second name are dual function
with a high to activate the first function and a low to activate the
second.
Pins which are used as inputs must never be allowed to float for any
significant period of time. All output pins that autoconfigure, any
inputs that are unused, and any inputs not driven by an active driver
at all times, must have a pullup or pulldown. This is to prevent the
significant power dissipation which occurs when the inputs float to
the switching point which puts the ASIC input buffer transistors in
the active region.
The /Sys_Reset and ALE/AS inputs will use schmitt
trigger TTL level shifters (due to potentially slow rise/fall times).
All other inputs use TTL level shifters. This allows the ASICs to be
compatible within the widest variety of applications.
All outputs are actually tristate drivers. This allows a product to
support an in-circuit-test fixture. The conditions in which each
output is driven to the output state is distributed throughout the
ASIC.
448
All outputs use slew limited pads. This offers several advantages in
radiated noise reduction simultaneous switching outputs noise
reduction, less ASIC power and ground pads, etc. As none of the
outputs required very fast rise and fall times, no disadvantage exists.
Listed below is the pin definition for the 100 TQFP CNA10 ASIC by
categories.
Pin No.
Description
Vdd
8, 19, 39
63
84
power
Pin Type
n/a
n/a
Vss
6 15, 42,
53,64
86
ground
n/a
n/a
449
Description
60 Mhz crystal circuit input connection.
This input can also be used for a 60 Mhz clock input
from an external source. This input pad is a CMOS
characterized pad.
Xtal_Out
10
Output
n/a
n/a
/TME
Input
n/a
n/a
/TestClk
Input
n/a
n/a
Clock_Out
13
Output
50 pF
4 mA
/Sys_Reset
Input
n/a
n/a
/Reset_Out
82
Output
50 pF
24 mA
4410
TQFP LEDS
Pin Names(s)
Led_A_Red
Pin No.
80
Pin Type
Output
Description
The red connection to the channel A bicolor LED.
Led_A_Green
79
Output
50 pF
8 mA
Led_B_Red
77
Output
50 pF
8 mA
Led_B_Green
76
Output
50 pF
8 mA
OR
Addr[11:1], /LBE
Pin No.
16
17
18
20
21
22
24
25
26
27
28
30
Pin Type
Input
Description
n/a
4411
Pin No.
57
58
60
61
66
68
69
71
Pin Type
I/O
Description
8 mA
MacID[7:0]
OR
Data[15:8]
/Irq0
33
34
36
37
43
44
46
47
I/O
74
Output
n/a
n/a
50 pF
4 mA
/Irq1
72
Output
50 pF
4 mA
/HBE
31
Input
n/a
n/a
4412
Pin No.
/WR_R/W
49
Pin Type
Input
Description
n/a
/RD_/DS
50
Input
n/a
n/a
/CE
51
Input
OR
n/a
n/a
/CS
OR
(tied low)
4413
Pin No.
ALE/AS
52
Pin Type
Input
Description
n/a
OR
/CS
OR
(tied low)
Ready
55
Output
50 pF
8 mA
4414
Pin No.
/Dtack
54
Pin Type
Output
Description
8 mA
Pin No.
Pin Type
Description
Tone
75
Output
50 pF
4 mA
Monitor
85
Output
50 pF
4 mA
4415
Pin No.
Pin Type
Description
95
I/O
50 pF
4 mA
OR
TxDataOut_A
93
I/O
50 pF
4 mA
OR
TxDataBar_A
OR
/TxEnable_A
4416
Pin No.
Pin Type
Description
92
I/O
50 pF
4 mA
OR
TxDataOut_B
91
I/O
OR
TxDataBar_B
OR
/TxEnable_B
50 pF
4 mA
4417
Pin No.
Pin Type
Description
100
Input
n/a
n/a
RxCarrier_A
99
Input
n/a
n/a
RxData_B
97
Input
n/a
n/a
RxCarrier_B
96
Input
n/a
n/a
NetEnb_A
88
Output
50 pF
4 mA
NetEnb_B
87
Output
50 pF
4 mA
G_NetEnb
81
Output
50 pF
8 mA
4418
Pin No.
Pin Type
Description
Input
n/a
n/a
ROM_Addr[15:0]
ROM_Data[7:0]
23
29
32
35
38
41
45
48
56
59
62
65
67
70
73
78
90
94
98
3
7
9
12
14
Output
50 pF
4 mA
Input
n/a
n/a
4419
Pin No.
Pin Type
Description
Vdd
16 39 59
71
94
power
n/a
n/a
Vss
14 26 37
64 73
92
ground
n/a
n/a
Pin No.
Pin Type
Description
/Xtal_In
68
Input
n/a
n/a
Xtal_Out
69
Output
n/a
n/a
/TME
77
Input
n/a
n/a
/TestClk
75
Input
n/a
n/a
Clock_Out
66
Output
50 pF
4 mA
/Sys_Reset
78
Input
n/a
n/a
/Reset_Out
96
Output
50 pF
24 mA
4420
MQFP LEDS
Pin Names(s)
Pin No.
Pin Type
Description
Led_A_Red
98
Output
50 pF
8 mA
Led_A_Green
99
Output
50 pF
8 mA
Led_B_Red
Output
50 pF
8 mA
Led_B_Green
Output
50 pF
8 mA
4421
Pin No.
Pin Type
Description
Addr[11:0]
63
62
60
58
57
56
54
53
52
51
50
48
Input
n/a
n/a
OR
Addr[11:1], /LBE
Data[7:0]
22
21
19
18
12
10
9,
7
I/O
150 pF
8 mA
MacID[7:0]
OR
Data[15:8]
/Irq0
45
44
42
41
36
35
33
32
I/O
Output
n/a
n/a
50 pF
4 mA
/Irq1
Output
50 pF
4 mA
/HBE
47
Input
n/a
n/a
4422
Pin No.
Pin Type
Description
/WR_R/W
30
Input
n/a
n/a
/RD_/DS
29
Input
n/a
n/a
/CE
28
Input
OR
n/a
n/a
OR
(tied low)
/CS
4423
Pin Type
Description
ALE/AS
Input
n/a
n/a
27
OR
/CS
OR
(tied low)
24
Output
50 pF
8 mA
/Dtack
25
Output
50 pF
8 mA
4424
Pin No.
Pin Type
Description
Tone
Output
50 pF
4 mA
Monitor
93
Output
50 pF
4 mA
MS/Mio
15
Input
n/a
n/a
Diag_Int
61
Input
n/a
n/a
4425
Pin No.
Pin Type
Description
TxDataOut
84
I/O
50 pF
4 mA
OR
TxDataOut_A
86
I/O
50 pF
4 mA
OR
TxDataBar_A
OR
/TxEnable_A
4426
Pin No.
Pin Type
Description
/TxPTC
87
I/O
50 pF
4 mA
OR
TxDataOut_B
88
I/O
50 pF
4 mA
OR
TxDataBar_B
OR
/TxEnable_B
79
Input
n/a
n/a
RxCarrier_A
80
Input
n/a
n/a
Description
RxData_B
n/a
n/a
82
Input
4427
83
Input
n/a
n/a
NetEnb_A
90
Output
50 pF
4 mA
NetEnb_B
91
Output
50 pF
4 mA
G_NetEnb
97
Output
50 pF
8 mA
4428
Pin No.
Pin Type
Description
ROM_Bypass
74
Input
n/a
n/a
ROM_Addr[15:0]
ROM_Data[7:0]
55
49
46
43
40
38
34
31
23
20
17
13
11
8
5
100
89
85
81
76
72
70
67
65
Output
50 pF
4 mA
Input
n/a
n/a
4429
4430
4431
NOTE: If /HBE ever transitions high after reset, the Dual Port RAM
will switch to WORD access mode permanently until the next reset
is asserted. This will cause the Host interface not to become operable
with a Byte wide interface.
Tristated Pins
Listed in the table below, are the CNA10 pins that can float.
Pin Names(s)
Description
/Reset_Out
/Irq0
/Irq1
Tone
Clock_Out
NetEnb_A
NetEnb_B
Monitor
Led_A_Red
Led_A_Green
Led_B_Red
Led_B_Green
G_NetEnb
/RxPTC
TxDataOut
TxDataBar
/TxPTC
Ready
/Dtack
These outputs are driven whenever both ALE/AS low and /CE low.
They are tristated if ALE/AS is high. If ALE/AS is low and /CE is
high, condition depends on internal latched state of /CE. Both
driven high and driven low transitions exists, for maximum speed.
Data[7:0]
ROM_Addr[15:0]
4432
Network Configurations
NAP Only
In this mode, the CNA10 must be configured for Redundancy
operation. REDUNDANT mode is configured by using a pull up
resistor to Vdd (+5v) on the /TxPTC pin. Once in the
REDUNDANT mode, only the NAP connections (/TxPTC and
/RxPTC) are used. The unused Network inputs (RxData_A,
RxCarrier_A, RxData_B and RxCarrier_B) must be tied to Vss
(gnd) using a resistor so that the carrier detection is never triggered.
Since the redundancy transmit pins (TxDataOut and TxDataBar)
are not used, the autoconfig for the TxDataBar can be tied high or
low. It is the responsibility of the programming device on a
NAPtoNAP connection to provide isolation.
Figure 44.5
NAP Only Configuration
Host Processor
CNA10 ASIC
Address,
Data, and
Control
Signals
TxDataOut
TxDataBar
NetEnb_A
RxData_A
RxCarrier_A
NetEnb_B
RxData_B
RxCarrier_B
/TxPTC
/RxPTC
NAP
Transceiver
NAP CABLE
CNA10 Pin
Autoconfig Setting
Connection
TxDataOut
None
TxDataBar
None
/TxPTC
/RxPTC
None required
4433
RxData_A
None required
RxCarrier_A
None required
RxData_B
None required
RxCarrier_B
None required
NetEnb_A
None required
None
NetEnb_B
None required
None
CNA10 ASIC
TxDataOut
Coax Transceiver
TxDataBar
Network
Drop Cable
NetEnb_A
G_NetEnb
RxData_A
RxCarrier_A
NetEnb_B
9904-HYBS
RxData_B
RxCarrier_B
/TxPTC
/RxPTC
4434
CNA10 Pin
Autoconfig Setting
Connection
TxDataOut
TxDataBar
/TxPTC
None
/RxPTC
None required
RxData_A
None required
RxCarrier_A
None required
RxData_B
None required
RxCarrier_B
None required
NetEnb_A
None required
NetEnb_B
None required
None
4435
Figure 44.7
Single Channel with NAP
Host Processor
Coax Transceiver
TxDataBar
Address,
Data, and
Control
Signals
Drop Cable
Network
NetEnb_A
G_NetEnb
9904-HYBS
RxData_A
RxCarrier_A
NetEnb_B
RxData_B
RxCarrier_B
NAP Transceiver
NAP Cable
/TxPTC
/RxPTC
CNA10 Pin
Autoconfig Setting
Connection
TxDataOut
TxDataBar
/TxPTC
/RxPTC
None required
RxData_A
None required
RxCarrier_A
None required
RxData_B
None required
RxCarrier_B
None required
NetEnb_A
None required
NetEnb_B
None required
None
4436
CNA10
TxDataOut
TxDataBar
Coax Transceiver
Drop Cable
Network
9904-HYBD
NetEnb_A
G_NetEnb
NetEnb_B
Drop Cable
RxData_A
RxCarrier_A
RxData_B
RxCarrier_B
/TxPTC
/RxPTC
Network
CNA10 Pin
Autoconfig Setting
4437
Connection
TxDataOut
TxDataBar
/TxPTC
None
/RxPTC
None required
RxData_A
None required
RxCarrier_A
None required
RxData_B
None required
RxCarrier_B
None required
NetEnb_A
None required
NetEnb_B
None required
4438
Figure 44.9
Redundant with NAP
Host Processor
Address,
Data, and
Control
Signals
CNA10 ASIC
Coax Transceiver
TxDataOut
TxDataBar
Drop Cable
Network
9904-HYBD
NetEnb_A
G_NetEnb
NetEnb_B
Drop Cable
Network
RxData_A
RxCarrier_A
RxData_B
RxCarrier_B
NAP Transceiver
/TxPTC
/RxPTC
NAP Cable
CNA10 Pin
Autoconfig Setting
4439
Connection
TxDataOut
TxDataBar
/TxPTC
/RxPTC
None required
RxData_A
None required
RxCarrier_A
None required
RxData_B
None required
RxCarrier_B
None required
NetEnb_A
None required
NetEnb_B
None required
4440
Figure 44.10
Redundant fiber with NAP
Host Processor
Address,
Data, and
Control
Signals
CNA10 ASIC
Fiber Transceiver
TxDataOut
Fiber Cable
Tx
/TxEnable
Fiber Cable
Rx
NetEnb_A
RxData_A
RxCarrier_A
Fiber Transceiver
Fiber Cable
Tx
G_NetEnb
NetEnb_B
Fiber Cable
Rx
RxData_B
RxCarrier_B
NAP Transceiver
/RxPTC
/RxPTC
NAP Cable
CNA10 Pin
Autoconfig Setting
4441
Connection
TxDataOut
TxDataBar
Requires pull up resistor for fiber Gate this signal with NetEnb_A and
mode. This pin now becomes
NetEnb_B to generate transmit
/TxEnable_A.
enable signals for channel A and B
respectfully.
/TxPTC
/RxPTC
None required
RxData_A
None required
RxCarrier_A
None required
RxData_B
None required
RxCarrier_B
None required
NetEnb_A
None required
NetEnb_B
None required
4442
Figure 44.11
Coax to Coax Repeater
CNA10 ASIC
Coax Transceiver
TxDataOut_A
Drop Cable
TxDataBar_A
Network
NetEnb_A
RxData_A
RxCarrier_A
Coax Transceiver
TxDataOut_B
TxDataBar_B
NetEnb_B
RxData_B
RxCarrier_B
Drop Cable
Network
CNA10 Pin
TxDataOut
(TxDataOut_A)
TxDataBar
Autoconfig Setting
4443
Connection
RxData_A
None required
RxCarrier_A
None required
RxData_B
None required
RxCarrier_B
None required
NetEnb_A
None required
None
NetEnb_B
None required
None
(TxDataBar_A)
/TxPTC
(TxDataOut_B)
/RxPTC
(TxDataBar_B)
4444
Figure 44.12
Fiber to Fiber Repeater
CNA10 ASIC
Coax Transceiver
TxDataOut_A
Drop Cable
TxDataBar_A
Network
NetEnb_A
RxData_A
RxCarrier_A
Coax Transceiver
TxDataOut_B
Drop Cable
TxDataBar_B
Network
NetEnb_B
RxData_B
RxCarrier_B
CNA10 Pin
Autoconfig Setting
TxDataOut
Connection
(TxDataOut_A)
TxDataBar
(TxDataBar_A)
/TxPTC
(TxDataOut_B)
/RxPTC
(TxDataBar_B)
RxData_A
None required
RxCarrier_A
None required
RxData_B
None required
RxCarrier_B
None required
NetEnb_A
None required
None
NetEnb_B
None required
None
Package Dimensions
4445
Following are package dimensions for the TQFP and MQFP CNA10.
Figure 44.13
TQFP CNA10 Package Dimensions
16.00 +/0.40
14.00 +/0.20
14.00
+/0.20
16.00
+/ 0.4
1.60 MAX
DETAIL A
DETAIL A
1.40
+/0.05
0.15 max
0.22 +/0.05
0.50 typ
4446
Figure 44.14
MQFP CNA10 Package Dimensions
23.90 +/0.25
20.00 +/0.10
17.90
+/ 0.25
14.00
+/0.10
3.40 MAX
DETAIL A
DETAIL A
2.80
+/0.25
0.36
0.10
0.30 +/0.08
0.65 typ
Maximum Ratings
4447
Following are maximum ratings for the TQFP and MQFP CNA10.
Table 44.A
TQFP CNA10 Absolute Maximum Ratings
Parameter
minimum
maximum
0.5 V
7.0 V
536 mW (nonREPEATER)
457 mW (REPEATER)
+100 mA (sink,
VPin = VSS 0.5V)
100 mA (source,
VPin = VDD + 0.5V)
VSS 0.3V
VDD + 0.3V
1.7 V, 20 nsec
1.7 V, 20 nsec
Storage Temperature
40_C
+145_C
25_C
+85_C
Static Protection
2000 V
Notes:
In all cases, VSS = 0V. All voltages are with respect to VSS.
Latchup triggering current is defined as the current flow required through a pin protection diode before an SCR type latchup is triggered.
Overshoot and undershoot are defined by specifying a box, per Figure 44.15, defined by the specd voltage and duration, within which the pin
voltage waveform must be contained on any excursion beyond VSS300mV and VDD+300mV. Pin voltages contained within this box will cause
neither latchup, nor reliability problems.
Figure 44.15
Overshoot/Undershoot Definition
Voltage
VDD+0.3V
Overshoot
Duration
Duration
Undershoot
VSS 0.3V
Voltage
The device will withstand an electrostatic discharge of 2000 Volts, measured per MILSTD883C, Method 3015.3, Category B.
4448
Table 44.B
MQFP CNA10 Absolute Maximum Ratings
Parameter
minimum
maximum
0.5 V
7.0 V
536 mW (nonREPEATER)
457 mW (REPEATER)
+100 mA (sink,
VPin = VSS 0.5V)
100 mA (source,
VPin = VDD + 0.5V)
VSS 0.3V
VDD + 0.3V
1.7 V, 20 nsec
1.7 V, 20 nsec
Storage Temperature
40_C
+145_C
25_C
+85_C
Static Protection
2000 V
Notes:
In all cases, VSS = 0V. All voltages are with respect to VSS.
Latchup triggering current is defined as the current flow required through a pin protection diode before an SCR type latchup is triggered.
Overshoot and undershoot are defined by specifying a box, per Figure 44.15, defined by the specd voltage and duration, within which the pin
voltage waveform must be contained on any excursion beyond VSS300mV and VDD+300mV. Pin voltages contained within this box will cause
neither latchup, nor reliability problems.
Figure 44.16
Overshoot/Undershoot Definition
Voltage
VDD+0.3V
Overshoot
Duration
Duration
Undershoot
VSS 0.3V
Voltage
The device will withstand an electrostatic discharge of 2000 Volts, measured per MILSTD883C, Method 3015.3, Category B.
Electrical Characteristics
4449
minimum
maximum
4.5 V
5.5 V
0_C
TQFP:
75_C
(nonREPEATER)
80_C (REPEATER)
MQFP: 85_C
Humidity
5%
95% noncondensing
0.7 x VDD
VDD + 0.5 V
0.5 V
0.3 x VDD
2.0 V
VDD + 0.5 V
0.5 V
0.8V
2.4 V
0.4V
35K ohm
150K ohm
10 microamp
10 microamp
16 pF
10 pF
20 milliseconds
55 nsec75
Unlimited
20 ns
6.8 @ 60 MHz
23.5 mA/V
Notes:
In all cases, VSS = 0V. All voltages are with respect to VSS.
This spec applies only if the clock source is externally supplied (as opposed to using the specified
crystal oscillator circuit).
CMOS inputs
4450
/Xtal_Out
R 1M
C1
10 pF
L
1 uH
C3
180 pF
C2
12 pF
Table 44.D
CNA10 Oscillator Circuit Characteristics
Parameter
Specification
Frequency
Duty Cycle
Startup time
Drive
Architecture
Resistor
Capacitors
Inductor
Frequency and Accuracy
Make Tolerance (@ 25_C)
Temperature Tolerance (0 to 85_C)
Aging for the first year
Aging for ten years
Total Frequency Accuracy
Load Capacitance
Overtone
Q
ESR (fundamental)
ESR (3rd overtone)
ESR (5th overtone)
Crystal
60.000 Mhz
50 +/ 10% max (40 to 60%)
20 milliseconds max
100 uW max
Miller Overtone
chip 1/8 W metal film
chip 5% NPO
chip 10%
60.000 Mhz
+/ 50 ppm max
+/ 50 ppm max
+/ 5 ppm max
+/ 20 ppm max
21 pF
3rd
50,000 typ
10 ohms min
100 ohms max
150 ohms min
9904-XTAL
4451
4452
/CE may be tied low, and the /AS pin used as the chip select
function. In this case, the chip select must be guaranteed glitch
free and meet timing parameter tSD between back to back bus
cycles.
4453
4454
Table 44.E
Timing Parameters
Code
Type
tAS
tAH
tCS
tCH
tUSr
tUSw
tUHrn
Setup
Hold
Setup
Hold
Setup
Setup
Hold
tUHre
Hold
tUHw
Hold
tSHx
Hold
tSHg
Hold
Parameters
Min
Addr[11:0]
Addr Valid
tAS
tAH
/AS
tSH
tCS
tCH
/CE
startofcycle
cyclereset
Figure 44.19
Disabled /CE: /AS pin functions as chip select:
StartOfCycle Definition
Addr[11:0]
Addr Valid
tUS
tUH
Ready
/Dtack
cyclereset
startofcycle
endofcycle
Max
Units
0
9
0
7
69
0
5
ns
ns
ns
ns
ns
ns
ns
45
ns
ns
50
ns
ns
4455
EndofCycle
A normal bus cycle, for the Dual Port RAM, is terminated by the
first rising edge within the set of signals:
/AS Possible for any cycle when normal /AS mode is used
(also causes cyclereset).
/CE Possible for any cycle when /AS disabled mode is used
(also causes cyclereset).
Both /HBE and /LBE Possible for read cycles and /DS
controlled write cycles, and only if WORD access mode. Note
that the endofcycle is created by these signals only if both
signals go high before all else, not by either going high. In BYTE
access mode, /HBE is tied low so both going high is impossible.
/RD_/DS Possible for read cycles and /DS controlled write
cycles.
Note that for /WR controlled writes, /RD_/DS does not go low, so
rising edges on it, will not define the endofcycle.
/WR_R/W Possible for any write cycle.
Each possible cause of endofcycle is demonstrated in figures
44.20, 44.21, 44.22, 44.23, and 44.24, respectively.
A bus cycle will always terminate at the endofcycle. No other bus
activity should be attempted until a cyclereset (the rising edge of
/AS or /CE if in /AS disabled mode) occurs.
Figure 44.20
/AS Based EndOfCycle (Only if Normal /AS Mode)
/AS
/CE
/HBE, /LBE
/RD_/DS,
/WR_R/W
Stable
endofcycle
4456
Figure 44.21
/AS Based EndOfCycle (Only if /CE Disabled Mode)
/CE (tied low)
/AS
/HBE, /LBE
/RD_/DS,
/WR_R/W
Stable
endofcycle
Figure 44.22
/HBE and /LBE Based EndOfCycle (WORD Mode Only)
/AS
/CE
/HBE
Stable
/LBE
Stable
/RD_/DS
/WR_R/W
Stable
endofcycle
Figure 44.23
/RD_/DS Based EndOfCycle (Reads or /DS Controlled Writes)
/AS
/CE
/WR_R/W
Stable
/RD_/DS
endofcycle
4457
Figure 44.24
/WR_R/W Based EndOfCycle (Writes Only)
/AS
/CE
/RD_/DS
Stable
/WR_R/W
endofcycle
Read Cycles
Table 44.F
Timing Parameters for Read Cycles
Code
Type
tWS
tWH
tSV
tSD
tRD
tSZ
tSR
Setup
Hold
Delay
Delay
Delay
Delay
Delay
tSYn
Delay
tSYe
Delay
tRY
Delay
tEHn
Hold
tEHe
Hold
tEY
tEZ
tLBE
Delay
Delay
Delay
Parameters
Read cycle /WR_R/W goes high before startofcycle.
Read cycle /WR_R/W remains high after endofcycle.
Startofcycle until Data[n:0] valid.
Startofcycle until Data[n:0] driven.
/RD_/DS true until Data[n:0] driven
Cyclereset until Ready and /Dtack float tristate.
Startofcycle until Ready driven false or
Startofcycle until /Dtack driven false.
Read cycle startofcycle until Ready true (rising edge) or
Read cycle startofcycle until /Dtack true (falling edge).
Normal ready/dtack timing mode.
Read cycle startofcycle until Ready true (rising edge) or
Read cycle startofcycle until /Dtack true (falling edge).
Early ready/dtack timing mode.
/RD_/DS true until Ready or /Dtack true
Either normal or early ready/dtack timing mode.
Endofcycle after Ready true (rising edge) or
Endofcycle after /Dtack true (falling edge).
Normal ready/dtack timing mode.
Endofcycle after Ready true (rising edge) or
Endofcycle after /Dtack true (falling edge).
Early ready/dtack timing mode.
Endofcycle until /Dtack false (rising edge).
Endofcycle until Data[7:0] floats tristate.
Startofcycle until /LBE true (WORD access mode ONLY)
Min
Max
Units
180
33
26
11
21
ns
ns
ns
ns
ns
ns
ns
165
ns
117
ns
24
ns
0
0
ns
52
ns
21
14
80
ns
ns
ns
4458
Figure 44.25
Timing Diagram for Read Cycles
Addr[11:0]
Addr Valid
/AS
/CE
tSV
/HBE,
/LBE,
/RD_/DS
tLBE
/WR_R/W
tWS
tRD
tWH
tSD
tEZ
Data[n:0]
Data Valid
tSZ
tSY
tSR
tRY
tEH
tEY
Ready
/Dtack
cyclereset
startofcycle
endofcycle
4459
Write Cycles
Table 44.G
Timing Parameters for Write Cycles
Code
Type
Parameters
Min
tRS
tW1
Setup
Setup
0
0
ns
ns
tW2
Setup
ns
tDS
tDH
tSZ
tSR
tPYn
Setup
Hold
Delay
Delay
Delay
5
0
11
17
210
ns
ns
ns
ns
ns
tPYe
Delay
164
ns
tTY
Delay
24
ns
tWY
Delay
22
ns
tEHn
Hold
tEHe
Hold
tTH
Hold
tEY
Delay
Max
Units
ns
47
ns
ns
19
ns
4460
Figure 44.26
Timing Diagram for Write Cycles
Addr[11:0]
Addr Valid
ALE/AS
/CE
tRS
/HBE,
/LBE,
/RD_/DS
tW1
tW2
/WR_R/W
tDS
Data[n:0]
tDH
Data Valid
tPY
tEH
tSZ
tTY
tTH
tSR
tWY
tEY
Ready
/Dtack
cyclereset
startofcycle
endofcycle
LEDs
4461
The CNA10 ASIC provides output pins to drive two bicolor LEDs
in one of three states. Table 9 depicts the three supported LED states
Each LED output pin can drive 8 mA. External drivers are required
for nodes demanding more LED current than that supplied by the
CNA10 LED driver pins. An example LED connection for LEDs
requiring less than 8ma operating current is shown below in Figure
44.27. If external drivers are used, pullups on the CNA10 LED
driver pins are required because the pins will float during reset.
Table 44.H
logic 0
logic 1
Red LED ON
logic 1
logic 0
LED OFF
logic 0
logic 0
Figure 44.27
Example Bicolor LED Connection
CNA10 ASIC
316 W
LED Red
Bicolor
LED
LED Green
8 ma operating current
4462
Table 44.I
LED Pattern Indications by Priority
Indications that use both LEDs together
Priority
Status
Code
LEDs A & B
Indication
1st
Off
2nd
Red
Failed unit.
3rd
Railroad RedGreen
Self test.
4th
Railroad RedOff
Status
Code
Indication
5th
Flashing RedGreen
6th
Flashing RedOff
7th
Flashing GreenOff
8th
Green
Channel OK
9th
Off
Channel disabled
4463
Self Test Is the 3rd priority level, it overrides all lower priority
conditions. This condition occurs immediately after reset when either
the Comm or the MAC Processor are in test mode. The LED display
for selftest is stretched to a minimum of 3 seconds even though the
self test does not last that long.
Bad Node Configuration Is the 4th priority level, it overrides all
lower priority conditions. This condition occurs in the case of bad
MAC configuration (duplicate MAC ID or rogue condition, either is
mismatch between moderator and net config) or in the case of
configuration timeout (corrupted or missing configuration file, as
determined by the Comm Processor). The indication for duplicate
MAC ID is shut off when the node leaves the rogue/dupnode state.
The CNA10 will not automatically indicate bad node configuration
when it sees another node at its MAC ID if the hotbackup bit is set
in the Host Interface Config Object. The ASIC will force the
LEDs to indicate bad node config only when the CNA10 is in the
rogue or dupnode states, unless otherwise instructed by the host.
Setting the no rogue/dupnode LEDs bit in the host config object also
prevents the CNA10 from automatically flashing this state.
Bad Network Configuration Is the 5th priority level, it overrides
all lower priority conditions. The Comm Processor firmware has
total control over this LED condition. This condition is activated if
the internal FIFOs overflows or underflows, if that event indicates
that the network data flow sequencing needs adjustment. Also, if a
timeout problem is detected (producer or consumer failure). This
condition should have a software timer routine to deactivate and
stretch the indication to 4 seconds.
Bad Network Configuration is displayed on both LEDs
simultaneously in a redundant network, and on the LED of the
selected channel in a nonredundant network.
Cable Fault or Lonely Is the 6th priority level, it overrides all
lower priority conditions. Cable errors include missing or faulty
(broken or noisy) cables. By hardware design, a CNA10 with its
modem shut off never gets lonely, and is oblivious to its cables.
This indication (flashing red) can occur on both channels
simultaneously only if either
both drop cables are completely disconnected; or
no other nodes are present (the CNA10 is lonely).
If excessive errors are occurring on both channels, the LEDs will
seem to be very erratic, jumping between flashing red and flashing
green on the two channels. If media errors are occurring on one
channel only, its LED will be flashing red while the other channels
LED will be flashing green or solid green.
4464
Cable Fault takes time to heal. A large number of data bits, with
proper valid manchester encoding must be received before the LED
will cease flashing red. This can take a long time if the network is
lightly loaded. Users will need to know that plugging in a second
channel in a redundant network will not immediately extinguish the
red light on that second channel, even when the connection is
perfect. A fixed CID (19h) is recognized by the CNA10 for resetting
this redundancy arbiter. This allows field personnel who are
equipped to generate this packet to avoid the delay in extinguishing
the red light.
The value of this indication is informing the field tech which cable
not to disconnect when only one cable is reliable.
Temporary Network Errors Is the 7th priority level, it only
overrides the no errors condition. This condition includes:
Off-line: Indicates that the node is off line (its modem is not
enabled). The modem enable is a bit within the host configuration
packet. This also affects both LEDs in redundant networks and
only one LED in nonredundant networks.
Screeners not programmed: This condition persists until the first
swap complete condition caused by programming the screener
tables following self test. This also affects both LEDs in
redundant networks and only one LED in nonredundant
networks. A dummy screener swap command must be completed
for a node in promiscuous receive mode in order to prevent this
error display condition.
Channel A Packet Error, channel B Packet Error: These are
indications of bad packets received on either channel A or
channel B, due to manchester violations or bad end delimiters.
(A bad start delimiter is only detectable in a redundant network,
with one good channel.) This is a temporary event that does not
require user intervention, unless too many bad packets are
received in a short period of time, which would be considered a
cable problem and indicated at a higher priority level. The LED
display for this condition will be stretched to 3 or 4 seconds.
Channel OK Is the lowest priority level. This condition indicates
that the node and network is operating without errors.
4465
OPEN
a bad packet
HHT
SOLID GREEN
NAP
CNA10
Network Connections
LEDs
Node
Node
4466
0
1
0
1
System Considerations
4467
Blanking
The holdoff timer is used to implement both the blanking time and
the holdoff time. These times are interrelated, as described below.
The CNA10 always blanks its receive channel while transmitting. In
certain cases, the blanking must be continued after the transmission
completes.
The Blanking time is defined as the length of time required after
transmitting a frame, before the node is allowed to receive. Blanking
is specified as a number of bytes. The blanking time (number of
bytetimes) is supplied in the Network Configuration Packet. All
receive channels are blanked after this nodes transmissions. This is
required to blank echoed transmissions for fiber optic star networks.
The blanking time is also used to blank the receive channels after
receiving a message. This is necessary because the CNA10 functions
as a repeater for those received messages. Messages received on the
network are forwarded out the NAP port. Messages received from
the NAP are forwarded out onto the network. Hence, the blanking
time must be applied on the side that the CNA10 is transmitting on.
While data received during the blanking time on the active receive
channel is not blanked (it is fed up to the MAC), it will not be
repeated onto the other channels as long as the blanking timer has
not expired. This has a beneficial effect for operation in repeater
mode. The effects of noise will be eliminated between {the end
delimiter of repeated frames} and {the expiration of the blanking
timer}. This may make it desirable to set the blanking time longer
than the required minimum.
Rx or Tx
Receiving Rx Channel
Mode, Repeater or
Non
Blanked Rx Channels
Transmit
either
all
Receive
A or B
nonRepeater
NAP
Receive
NAP
nonRepeater
A and B
Receive
Repeater
Receive
Repeater
4468
Holdoff
The Holdoff time is defined as the length of time required after
completion of receiving or transmitting a frame, before the node is
allowed to transmit. Holdoff is calculated as the maximum of:
{blanking plus 1 bytetime} or {the MicroRISC turn around time}.
The MicroRISC turn around time is currently approximately 6
bytetimes. Refer to the protocol spec ER# CD0110 for information
on this parameter. Therefore, any blanking time less than or equal to
5 can still result in an effective holdoff time of 6 bytetimes (or more
if the firmware changes) under some conditions.
The Gen screeners require a minimum MAC frame spacing of 2
bytes to do CRC related updates. Therefore, it dictates a minimum
blanking time of 1 bytetime, independent of the minimums that are
required for the various media types, as follows.
In a redundant network, holdoff (blanking plus one) must exceed the
worst case skew between the reception of two channels, which is less
than four bytes. For networks with remote echo of transmitted
packets (ie., a fiber optic star that echos to all channels), the value of
the blanking timer must also exceed the worst case echo of the
message through the remote device back to the originating node.
The minimum required blanking times for different media types are:
Coax Bus, Single Channel 0* bytes
Coax bus, Redundant 3 bytes
Fiber Star w/o echo in the star, Single Channel 0* bytes
Fiber Star w/o echo in the star, Redundant 3 bytes
Fiber Star w/ echo in the star Worst case echo delay 13 bytes
Fiber Ring Greater than the total ring delay and less than max
slot time 158 bytes
Head End Broadband or RF Wireless Greater than the total
turnaround delay, and less than max slot time 158 bytes
* 1 bytetime is still required for the Gen screener change field
update.
The difference in performance in a Fiber Star system, between a star
with and without echo, is not as great as the blanking time suggest.
The total delay through the star is the earliest possible turnaround,
whether blanking is set to this value or not. In one case, the delay
matches the installation. In the other, the delay will always be the
blanking time.
4469
Jabber
The jabber timeout delay is a function of the source of the data being
transmitted. With the NAP used, every node is a repeater, since every
node transmits each message it receives somewhere. Using multiple
delay values prevents every node from faulting (detecting jabber, and
tripping its fault line) when any one node jabbers. It allows the
original jabbering transmit device to timeout first. Only if it does not
timeout, does the local CNA10 (and any other node at the same
timing level) fault.
The following list is four scenarios, in order of increasing protection.
Ideally, each entry should have different and progressively higher
detection levels. The following were implemented:
1. From CNA10 transmit to anywhere 1024 bytes
2. From NAP to network 2048 bytes
3. From network to network (repeater) 2048 bytes
4. From network to NAP (jabber here will not be detected)
Several anomalies may result:
If a node jabbers while repeating a network message to the NAP,
it will continuously transmit to the programming terminal that
may be attached. It does not fault.
If a programming terminal jabbers, but does not fault itself due to
its severity, the node it is attached to and every repeater on the
network will fault.
If any node jabbers, but does not fault itself due to its severity,
every repeater on the network will fault.
If any repeater jabbers, any other repeater in the transmit
direction, at the time of the jabber, will also fault.
Note that anything that causes a repeater to fault will sever the
network. In a single channel nonredundant system, a repeater is a
single point of failure. In terms of time at 5 Mbps, 1024 bytes is 1.64
msec and 2048 bytes is 3.28 msec.
Repeater Operations
The repeater design allows for an indefinite number of series
repeaters in a system. The practical limit to the number is network
performance related. A delay is incurred moving through the
CNA10s Clock Recovery and Elastic buffer circuits. Each
networktonetwork repeater and each networktoNAP connection
in a signal path introduces 3.5 bits (700 ns at 5 Mbps) of delay,
which must be considered in the slot time and throughput
calculations.
4470
ROM_Addr[15:0]
ROM_Data[7:0]
Table 44.J
External ROM Timing Parameters
Code
Type
tAC
Access
Parameters
Valid ROM_Addr[15:0] to valid
ROM_Data[7:0]
Min
Max
Units
60
ns
Errata
4471
4472
Notes:
Chapter
45
Page
452
ROM Interface
453
454
455
456
457
458
PCB Layout
459
4515
452
453
ROM Interface
454
455
456
457
458
PCB Layout
459
4510
4511
4512
4513
4514
4515
4516
Notes:
Chapter
46
The ControlNet Example Code is a fully functional implementation
of the communications layers and the support services needed to
connect a device to the ControlNet network using a CNA10 ASIC.
It provides the following functionality:
General use foundation services
Example Multitasking Kernel
Message Router Object
Unconnected Message Manager Object (UCMM)
Device Object
Connection Manager Object
PCCC messaging and CIP messaging API
1771 Rack Object
This chapter contains these sections:
Section
Page
General Architecture
The Food Chain And Its Components
Porting Guide
Coding Standards
462
464
4612
4612
462
General Architecture
Target Application
Application
BASIC
Services
API
(AB)
Messaging
API
(AM)
Adapter
API
(AA)
CNEC
463
Object
Task 0
Q
Object
Task 1
Request
Tribble
Request
Tribble
Q
Object
Task 2
Object
Task 3
Response
Tribble
464
Foundation Services
The Foundation Services portion of the example code provide a base
set of data definitions and services upon which the remainder of the
example code is built. The set of components that make up the
Foundation Services are:
FD Fundamental Definitions
BU Bit Manipulation Utilities
OS Operating System
OE Operating Environment (Porting interface only)
UC Utilities Collection
LQ Linked Queues
GS Global Services
FD Fundamental Definitions
The Fundamental Definitions component provides the definitions of
the basic data types used throughout the example code. This
component contains definitions and macros only. There are no .c
files.
465
466
There are two user interface files provided to simplify the mapping
of the OE data types and services to the appropriate kernel data types
and services. The remappings of data types are to be placed in the
file OE_LTYPE.H and the remapping macros are to be placed in the
file OE_LSERV.H.
UC Utilities Collection
The Utilities Collection component contains replacement code for
commonly used services that are normally contained in C libraries.
By providing these services, it is not necessary to include library
code in the final product code. This avoids possible licensing and
royalty issues. It also provides visibility into these services and the
ability to optimize these services.
LQ Linked Queues
The Linked Queues component contains services to support the
creation and management of singly and doubly linked queues. It
consists primarily of a series of macros to optimize the performance
of the operations. These services are not to be confused with the
Global Services intertask queue operations (although those services
are built using these services.)
GS Global Services
The Global Services component contains a number of services:
Remapped OE services
Memory (heap) Management
Fault Assertion and Generation
Intertask Message Queues
Tribble management
Task Delay and General Use Timers
Remapped OE services
To provide a consistent interface, all of the OE services are
remapped to GS services of the same name via simple macros. This
is done to keep developers from having to remember whether a
particular low level service is in the OE component or the GS
component.
Memory (heap) Management
The Memory Management services provide for the initialization and
maintenance of a memory heap for dynamic memory usage. Unlike
a traditional general use heap which can uncontrollably fragment
over time, this heap is fragmented in a controlled way when it is
initialized.
467
468
Do nothing
Set an event
Queue a Tribble on a message queue
Run a short subroutine (Phase 1.5)
ControlNet Specifics
The ControlNet Specifics portion of the example code provide data
definitions and services for handling message buffers and parsing the
messages within those buffers. The set of components that make up
the ControlNet Specifics are:
CB Communication Buffers
CN ControlNet Specifics
CB Communications Buffers
Communications buffers (Combufs) are a data buffer with an
attached data structure for managing that buffer. Combufs are
designed to allow the appending and stripping of headers from data
packets without having to move the remainder of the data packet.
CN ControlNet Specifics
The ControlNet Specifics component provides the definitions and
services to handle and parse ControlNet packets.
469
CIP Support
The Control and Information Protocol (CIP) portion of the example
code provides data definitions and services for handling CIP
message. It also includes the Diagnostic Monitor object, which is
used to gain visibility into all portions of the example code for debug
purposes. The set of components that make up CIP Support are:
DM Diagnostic Monitor
MR Message Router
UM Unconnected Message Manager
DO Device Object
CM Connection Manager
RO Rack Object
DM Diagnostic Monitor
The Diagnostic Monitor component provides device independent
visibility into the example code for diagnostic and debug purposes.
It is an optional component, but it is strongly recommended that it be
included in any port of the CNEC.
MR Message Router
The Message Router component implements the functionality
defined for the CIP Message Router object.
4610
4611
Example Application
The Example Application portion of the example code provides an
example of how an application initializes and interfaces with the
remainder of the example code. This example is useful for
debugging and examination of the CNEC. The set of components
that make up the Applications portion of the example code is:
EA Example Application
PC PC Specific Support Utilities
PD PC Display Services (Multitasked)
TS Test Script Processor
DC Data Coordinator
EA Example Application
This is the main for the DOS example application.
PC PC Specific Support Utilities
Isolates all support routines that touch PC hardware or firmware.
Does not include display routines.
PD PC Display Routines
Provides multitasked version of PC display routines.
TS Test Script Processor
This component contains a tiny command line interpreter that can be
used to interactively exercise the CNEC.
DC Data Coordinator
This component isolates TS from acquisition of examined CNEC
data so that whatever commands can be executed locally can also be
executed remotely to another CNEC device on ControlNet.
4612
Porting Guide
Every effort has been made to minimize the portions of the example
code that need to be modified when porting the code to a specific
platform. The relative amount of changes required to port each
source file has been identified by simple gas gauge indications in
the header of each file as shown below:
*****************************************************
*****************************************************
**
** Source Change Indices
**
**
** Porting Changes
**
** None X Major
**
**
* Specific note 1
**
**
* Specific note 2
**
**
** Customization Changes
**
** None X Major
**
***************************************************
***************************************************
*/
Coding Standards
4613
Files
File names consist of one to eight characters followed by a dot (.)
and an extension of up to three characters. This is consistent with
the standard MSDOS 6.22 file format.
A file is named after the component module it comprises. For
example, the files containing the Diagnostic Monitor components
each retain the prefix DM as in dm_xxxx.y, where xxx is a
descriptive name and y is the file type (.h, .c, etc.).
Identifiers
The length of an identifier is limited only by the compiler. For the
current CNEC, the limit has been set at 32 characters.
The names of most identifiers are preceded by a common component
prefix. This aids in determining the component level relation of each
identifier in a file. Variables of scope limited to a single function or
code block do not require the component prefix. An underscore
character is used exclusively to separate the component prefix from
the remainder of the identifier name. The only exception is in
reference to specific compiler library identifiers (i.e., __FILE__ ).
Function Names
The name of each function in a component is preceded by a common
component prefix. This aids in determining the component level
relation of each function in a file. The remainder of the function
name is comprised of a descriptive label in verb first order. Any
words or abbreviations exhibit capitalization of the first letter as in:
DM_GetAttributesAll(). Functions that are accessed from other
components (public functions) have a name formed by the
component name prefix in upper case, followed by an underscore
then concatenated to the descriptive label. Functions that are
accessed exclusively within the component (private functions) have a
name formed by the component name prefix in lower case followed
by an underscore then concatenated to the descriptive label. This
notation provides a visual cue to the scope of the function.
4614
Type
array of ...
byte
ch
character
enumeration
flag
pointer
structure
Compiler Directives
Symbolic constants (#define) names are uppercase. For example:
#define SOMECONSTANT
0x42
4615
Typedefs
When defining structures, unions, enumerations, or other types,
braces are vertically aligned with the typedef keyword. Member
names are indented by three spaces. The identifier name will end
with the string Type and is vertically aligned with the brackets.
For example:
typedef enum
{
ONE,
TWO,
THREE,
FOUR
}
NumberType;
Macro Definition
The are two standard formats for defining a macro based on whether
the macro code fits on a single or multiple lines. Only one statement
is listed per line. If the code will fit on a single line, two spaces
separate the parameter list from the macro definition. If the code
requires multiple lines the format will be in the following style:
#define FooBar( x, y )
{
(x) = (y) * Foo;
(y) = Bar * ( (x) + (y) ) * (y);
}
\
\
\
\
4616
Format Rules
Format rules for the following are included in this section:
listing
spacing
parentheses
increment and decrement operators
branch directives
labels
braces
tabs
parameter lists
conditional blocks
code blocks
critical sections
Listing Rules
Service prototypes and functions are listed alphabetically in their
respective files. All functions possess a prototype in the header file.
For commenting purposes, service prototypes are listed in
alphalogical order in the banner comment ( see Comment Styles
below). Variable names are alphalogical using the label portion of
the name. The component prefix and Hungarian notation portions of
the name are ignored.
Spacing
Following is a list of the spacing rules:
Single space around the parameters in a macro prototypes and
calls.
Single space around the parameters in a function prototypes and
calls.
Single space around operators and variables
Single space around parameters inside square brackets
Single space before and after parenthesis except when used for
protection of macro parameters, typecasts and immediately
following a conditional keyword or function declaration. For
example:
#define FooBar( x, y ) (x) = (y);
while( foobar ) ...
(USINT*)foobar
(char*)( FooBar( x, y ) )
for( i = 1; i < ( FooBar( x, y ) * 3 ); i++ );
4617
purposes.
Use a blank line to visually separate blocks of code. Two blank
lines may be utilized to separate major code blocks.
Use a blank line before and after all return, continue, goto, and
break keywords.
Use a blank line before and after conditional statement blocks
(i.e., if..else, for, do..while).
On long parameter lists, vertically align variable types and
variable names as follows:
UINT
iFoo;
FooBarType*
pFooBar;
SomeTypeWithAReallyLongName* pLongName;
Parenthesis
Parenthesis are used around all expressions within conditional
statements. This includes case expressions. A set of protective
parenthesis surrounds all parameters in macro definitions.
Parenthesis enclose expressions if there exists any chance for
multiple interpretations between compilers (or programmers!).
Order of precedence is not assumed. Vertical alignment is observed
if multiple lines are required for a parameter list.
Increment and Decrement Operators
Wherever an increment (++) or decrement () operator is used and
no value is wanted, a postfix operator format is maintained. For
example:
... code ...
pFoo++;
... code ...
Branch Directive
The goto keyword is used only in forward branches to common error
handling sequences. gotos for normal processing cases are avoided.
gotos with backward branches are not used.
Labels
Labels are left justified to provide high visibility in code listings.
4618
Braces
ALL pairs of open and close braces are vertically aligned. Braces
enclose all macro definitions unless disallowed due to compiler
restrictions. Braces may be used in situations where sections of code
require special attention (i.e. around critical sections). All code
blocks within conditional expressions are enclosed with braces even
if empty (see Conditional Blocks below).
Tabs
Production source files do not contain any tabs. An indentation of
three spaces is used.
Parameter Lists
On long parameter lists, variable types and names are vertically
aligned as follows:
UINT
iFoo;
FooBarType*
pFooBar;
SomeTypeWithAReallyLongName*
pLongName;
Conditional Blocks
Code blocks within the context of conditional statements and loop
structures are enclosed by braces. This includes single lines of code.
Braces are aligned vertically with the conditional. Indentation is
three spaces. For example:
if( something )
{
. . . code segment . . .
}
else
{
. . . code segment . . .
} /* end if */
4619
Code blocks
Blank lines are used to separate functional blocks of code. Two
blank lines may be used to visually separate major code blocks.
Critical Sections
Code that resides within a critical section is enclosed in braces. The
braces are vertically aligned with the OE_EnterCritical() and
OE_ExitCritical() services which define a critical section. A blank
line immediately precedes and follows the critical section block to
visually separate it in the code.
example code . . .
OE_EnterCritical();
{
. . . more code . . .
}
OE_ExitCritical();
example code . . .
Comment Styles
There are a number of comment styles utilized in the CNEC. The
following list documents the use of each style.
File Banner comments
Each file is headed and terminated with a file banner comment. The
head banner provides a location for the name, description, version
and build number of the file. The termination banner marks the
absolute end of the file. The following formats are utilized.
/**************************************************
***************************************************
**
** File Name
**
**
** FooBar.C
**
***************************************************
***************************************************
**
** Description
**
**
** Description text ...
**
4620
***************************************************
***************************************************
**
** Service List
**
**
** Services NOTE: Service list section is
**
included only in the header
**
files
**
***************************************************
***************************************************
**
** Copyright Notification
**
***************************************************
***************************************************
*/
/**************************************************
***************************************************
**
** Change Log
**
**
** Log records
**
***************************************************
***************************************************
*/
. . . . . . . . . . . . Program Code . . . . . . . . .
/*************************************************
**
**
End of FooBar.C
**
***************************************************
*/
Note that the service list section is only included in header files. The
service list is arranged in an alphalogical order. The change log
section has been separated due to compiler limitations on comment
block length. In released source code, the log will only contain the
program version and revision number.
Major block comment
In major block comments, the title starts in column seven. For all
other comment types text will start in column three.
4621
/**************************************************
**
**
Title....
**
***************************************************
*/
4622
Note that the description and usage text for service prototypes are
located in the header (.h) file only. This is to eliminate maintaining
duplicate sets of comments in the code. End of line comments are
not used.
Code block comment
/*
** Text....
*/
Chapter
47
This chapter explains how to port the ControlNet Example Code
(CNEC) to a target real-time operating system (RTOS). The CNEC
requires an RTOS in order to provide multi-tasking execution of its
individual components. The requirements of the RTOS are also
identified. This chapter contains these sections:
Why An RTOS?
Section
Page
Why An RTOS?
Description Of RTOS
Detailed Requirements Of The RTOS
OE Defined Data Types
OE Defined Services
RTOS Porting Procedure
471
472
476
476
477
4714
472
Description Of RTOS
RTOS Tasks
An RTOS task is a single unit of execution having a unique,
unchanging priority, assigned at the time the task was created, and
also having its own private stack area. Support for multiple tasks at
the same priority is not a requirement of the RTOS. Neither is the
capability to dynamically modify the assigned task priority during
execution. This limited scope definition of task maximizes the
range of RTOS environments to which the CNEC can be ported. The
figure below is a state transition diagram the defines task operational
behavior.
473
Figure 47.1
Task State Transition Diagram
Create
Reschedule
(not highest priority)
READY
Reschedule
(highest priority)
Set Event
(not highest priority)
Reschedule
(not highest priority)
RUNNING
Reschedule
(highest priority)
Wait Event
BLOCKED
Set Event
(highest priority)
474
RTOS Events
An RTOS event, as required by the CNEC, is a task blocking and
wakeup primitive that can block and wakeup one and only one task,
and which can independently preserve one bit of status information.
An event is always in one of three states: IDLE, PENDING, or
BLOCKED. There are two synchronization operations that can be
performed on an event: SET and WAIT (CLEAR is not a defined or
required service). All of these event state transitions are illustrated
in the figure below:
475
Figure 47.2
Event State Transition Diagram
Create
IDLE
Wait
Set
Wait
Set
PENDING
BLOCKED
Set
Wait
ERROR
When an event is first created, it is in the IDLE state. This means
that there is no task blocked on the event and the bit of status is
cleared (zero). The PENDING state represents the situation where
the event has occurred, but no task has yet seen it. The
BLOCKED state represents the situation where the event has not yet
occurred, but some task is waiting for it to occur.
476
If the SET event operation is performed and the event is in the IDLE
state, then the event transitions to the PENDING state and the status
bit is set.. If, on the other hand, the WAIT event operation is
performed from the IDLE state, the transition is to the BLOCKED
state. In this state, the status bit remains cleared, but the task which
performed the WAIT transitions from the RUNNING task state to the
BLOCKED task state. This task will remain BLOCKED until some
other task performs a SET on the same event.
Several other transitions are significant. If the event is in the
BLOCKED state and a SET event operation is performed, then the
task which was blocked on the event transitions to READY (or
possibly RUNNING) and the event state transitions back to IDLE. If
the event is in the BLOCKED state and a WAIT event operation is
performed, this represents an error since only one task is permitted to
WAIT (i.e. block) on a given event.
Finally, if the event is in the PENDING state and a WAIT event
operation is performed, the event transitions to IDLE and the task
which executed the WAIT simply continues executing in the
RUNNING state. If the event is in the PENDING state and a SET
event operation is performed, then the event remains in the
PENDING state and the condition of multiple SETs is not recorded.
Detailed Requirements Of
The RTOS
The CNEC utilizes a set of twelve services that define its interface to
the RTOS. These twelve services constitute the example code
component called Operating Environment (OE). The OE component
produces no compiled code it contains no .C files, only .H
files. The RTOS required by the CNEC must provide a set of
services that are equivalent to those defined by the public interfaces
of OE.H. A procedure for mapping the RTOS services to OE.H is
presented in the final section of this chapter.
OE Defined Services
477
The OE.H services are broken down into five separate groups:
OE Initialization
Creation Services
Task Control Services
Event Control Services
Interrupt Entry/Exit Services
Each of these groups contains one or more related services that must
be provided by the RTOS.
OE Initialization
There is only one RTOS service in this group and it is the service
which initializes the entire OE environment. This service returns a
status indicating whether the initialization operation succeeded.
/*
**
** OE_Init()
**
** Basic OE initialization.
**
**
**
** Inputs:
**
None
**
** Outputs:
**
Return:
SUCCESS if everything OK
**
Nonzero error status code if
**
an error occurred.
** Usage:
**
eStatus = OE_Init();
**
**
*/
Creation Services
Two creation services must be provided: one to create tasks and
another to create events.
478
/*
**
** OE_CreateTask()
**
** Create a new task and return its task ID.
**
**
**
** Inputs:
**
pRoutine
pointer to task function
**
pParameter param to pass task function
**
pStack
pointer to task stack area
**
iStackSize Size in bytes of task stack area
**
nPrio
Task priority
**
pStatus
pointer to return status
**
** Outputs:
**
Return
ID of newly created task
**
pStatus
completion status via a pointer
**
** Usage:
**
xTask = OE_CreateTask( pRoutine,
**
pParameter,
**
pStack,
**
iStackSize,
**
nPrio
**
pStatus
**
);
**
**
*/
/*
**
** OE_CreateEvent()
**
** Create a new event.
**
**
**
** Inputs:
**
None
**
** Outputs:
**
Return:
ID of newly created event
**
** Usage:
**
xEvent = OE_CreateEvent();
**
**
*/
479
4710
/*
**
** OE_IdentifyTask()
**
** Identifies the currently executing task.
**
**
**
** Inputs:
**
None
**
** Outputs:
**
Return:
ID of currently executing task
**
** Usage:
**
xTaskId = OE_IdentifyTask();
**
**
*/
/*
**
** OE_Reschedule()
**
** Perform the reschedule operation.
**
**
**
** Inputs:
**
None
**
** Outputs:
**
None
**
** Usage:
**
OE_Reschedule();
**
**
*/
4711
/*
**
** OE_SetEvent()
**
** Set the specified event. If a task is waiting on
** the event, unblock it and make it ready to run, then
** execute OE_Reschedule().
**
**
**
** Inputs:
**
xEvent
Event identifier of event to set
**
** Outputs:
**
None
**
** Usage:
**
OE_SetEvent();
**
**
*/
/*
**
** OE_SetEventIsr()
**
** Set the specified event from inside of an ISR. If
** a task is waiting on the event, unblock it and make
** it ready to run, but do not execute OE_Reschedule().
**
**
**
** Inputs:
**
xEvent
Event identifier of event to set
**
** Outputs:
**
None
**
** Usage:
**
OE_SetEventIsr();
**
**
*/
4712
/*
**
** OE_WaitEvent()
**
** Wait for the specified event. If the event is
** already set, then clear it and continue executing.
** If the event is not set, then block and wait for the
** event to be set. When the event is finally set,
** clear it and continue executing.
**
**
**
** Inputs:
**
xEvent
Event identifier for event to wait
**
** Outputs:
**
None
**
** Usage:
**
OE_WaitEvent();
**
**
*/
4713
/*
**
** OE_ExitIsr()
**
** Perform OE required exit sequence when completing
** execution of an ISR.
**
**
**
** Inputs:
**
None
**
** Outputs:
**
None
**
** Usage:
**
OE_ExitIsr();
**
**
*/
4714
4715
Figure 47.3
Structure and Content of OE.H
#include oe_ltype.h
User Redefined
OE Data Types
OE Data Type
Definitions
Data Types
Defined by OE
#include oe_lserv.h
OE Services
Definitions
User Redefined
OE Services
Services Defined
by OE
4716
Notes:
Chapter
48
This chapter explains the Basic Services API (AB) component of the
ControlNet Example Code (CNEC). This component provides for
compiletime configuration of the CNEC as well as runtime
initialization of the CNEC. This chapter contains these sections:
AB Component Files
Section
Page
AB Component Files
481
AB Component Services
482
482
AB Component Services
Chapter
49
Section
Page
491
493
4910
4912
AM
API
OTHER
API
OTHER
API
492
493
Other Requirements
The CNEC requires a RealTime Multitasking Kernel (RTMK) in
order to efficiently sequence and coordinate the various lowlevel
functions that it must carry out concurrently. The CNEC contains a
primary interface file called OE.H which defines the interface and
services required from the RTMK. A ControlNet ASIC application
developer may either purchase a commercially available
offtheshelf RTMK or use (and adapt) the one that is provided as
unsupported example code along with the CNEC.
CNEC Preliminaries
The AM API uses several basic data structures that are defined in
the CNEC. These must be understood by the user since the public
interfaces of the AM API include references to these data structures.
The AM API also references several services that are available in the
CNEC. These must also be understood by the user so that a
compliant implementation can be developed.
CS_ComBufType Data Type
All messaging services in the CNEC utilize a fundamental data type
called the CB_ComBufType:
This:
Is:
CB_
ComBuf
Type
494
Figure 49.2
Combuf Header DataType
typedef struct
{
USINT* pData;
UINT iReqSize;
UINT iBufSize;
UINT iDataSize
}
CB_ComBufType;
495
Free
Front
Space
Buffered Data
Free
Tail
Space
496
AM
API
Server
Object
Internals
Application
PCCC
Processing
Function
497
498
Figure 49.5
AM Server Object Main Loop
DeQueue next
PCCC Request
Deencapsulate
PCCC Request
Process PCCC
Request (AM_Appl.c)
If Response, then
Encapsulate
Queue tribble
back to Requestor
499
Tribbles contain six fields: Trrbl Link (forming the queue), Trrbl
Request Code, Trrbl Response Code, Trrbl Response QueueID, Trrbl
Param (a UINT), and Trrbl DataPtr. The COMBUF used for
containing PCCC Requests and Responses is attached (via pointer) to
the DataPtr field. Storage space for Tribbles is ALWAYS
allocated from (and deallocated to) the heap via GS_Malloc() and
GS_Free(). Each Trrbl consumes one 16byte heap block for storage
space (one minimum size block). Tribbles are often reused by the
server task to minimize dynamic memory management overhead. It
is perfectly possible for the lifetime of a Tribble to extend over a
number of queuing and dequeuing operations.
AM Server API Interface Definition
The AM Server API Service Interface definition consists of a single
C function prototype which represents the service provided by the
application to execute deencapsulated PCCC requests (received by
the PCCC Server Object) and generate the PCCC responses. The
function prototype is detailed below:
Figure 49.6
PCCC Server API Definition
C Function Prototype:
4910
Size
1 byte
1 byte
1 byte
0 .. 9 bytes
Description
IOI header service code
Size of IOI after routing
Size of the client ID
A place to save the ClientID
4911
Command Byte
0x06
0x01
0x08
0x06
0x06
Function Code
0x03
None
None
0x68
0x67
4912
Size
0 .. 9 bytes
1 byte
1 byte
1 byte
1 byte
Description
Can be up to 9 bytes of data
Value is ored with 0x80 to set the response bit
Value is set to zero
Value is set to zero
Extended error status
AM.h
AM.h defines all the public interfaces for the PCCC messaging
component. It can be broken down into four different sections:
constants, data types, globals, and public services.
4913
Constants
AM.h contains many different constants (#defines) that are used
throughout the AM API. One group of constants include all PCCC
messaging commands and functions. Another group of constants
include header and buffer sizes of data packets. There is another
section of constants which are bit flags defined in hexadecimal to
help in the decoding of addresses and data types. Another section of
constants define the status codes of possible error responses. Finally,
a group of defines exists for general use throughout the API.
Data Types
There are two data types that are defined in AM.h: AM_AddrType
and AM_PcccHeaderType. The data type AM_AddrType is used to
store the file number, element number, and the status for the
decoding of PCCC message addresses. AM_PcccHeaderType is
used to hold the main portion of the PCCC command header.
Globals
The AM.h header file consists of two groups of variable definitions.
The first group consists of any areas of memory that the user wants
to be mapped into files for the typed read and typed write functions.
These are array definition prototypes and are dimensioned to the
desired size, which are defined in PJ_Opts.h. They are declared as
externs because these arrays are defined privately in AM_Appl.c.
The other variable definition is AM_xQid which is used for the
PCCC object task request queue. It too is declared as an extern and
is defined in AM_Pccc.c.
Public Services
There are three public service functions that are prototyped in AM.h.
The first function prototype is as follows:
USINT* AM_DecodeAddress( USINT* pMsg,
AM_AddrType* pAddr )
It is used to process the PLC5 address in the request message. It is
passed a pointer to the characters to process and a pointer to where
the decoded address should reside. A pointer to the processed
characters is returned.
The second function prototype is as follows:
CB_ComBufType* AM_ExecutePccc(
CB_ComBufType* pCommand
)
4914
AM_Appl.h
AM_Appl.h defines all of the private definitions pertaining to
AM_Appl.c, which is the application program. It contains only one
section, which is the private services section. The AM_Appl.h
contains eight services, all of which are called from AM_Appl.c, and
are defined as follows.
void am_EchoCommand( CB_ComBufType* pComBuf,
AM_PcccHeaderType* psPcccHeader )
This command executes the PLC5 echo command. It exists in the
code for test purposes. It is passed a pointer to a combuf and a
pointer to the PCCC header structure.
void am_IdentifyHostAndStatus( CB_ComBufType* pComBuf,
AM_PcccHeaderType*
psPcccHeader )
This command executes the PLC5 identify host and status command.
It is passed a pointer to a combuf and a pointer to the PCCC header
structure. This command reads status information about the
processor. The first byte is the operating status. The second byte is
the processor and interface type. The third byte through the end of
the response block is processor and interface module dependent. The
values in the first byte are also processor and interface dependent.
void am_Plc2UnprotectedRead( CB_ComBufType* pComBuf,
AM_PcccHeaderType*
psPcccHeader )
4915
4916
4917
sAddr.iFileNumber = 7
sAddr.iElementNumber = 10
With this, the file number can be used in a switch statement to select
the desired array, and the element number can be used to select the
exact index of the array. The size value is also specified to
determine how many words to read in. The following program code
shows a read of data:
/* Decode address of where to read */
pMsg = AM_DecodeAddress( pMsg, &sAddr );
/* Read in Size, low byte first into a word */
iWordCount = UC_iLeTOi( *(UINT*)pMsg );
switch( sAddr.iFileNumber )
{
case( AM_FILE_7 ):
pData = (UINT*)( &AM_aiFile7[sAddr.iElementNumber]);
break;
/* Insert other case statements for other files */
}
/* Take data pointer and place values on response
header for the number of words specified */
while( iWordCount )
{
iWord
= *pData++;
*pMsg++ = (USINT)( iWord );
*pMsg++ = (USINT)( iWord >> 8 );
}
4918
Notes:
Chapter
50
502
Example Packets
Test Network
The network setup used for generating and capturing the example
packets consists of a PLC5/XXC, a PC containing a KTC card to
run 6200 software, a PC running the ControlNet Traffic Analyzer
(TA), and the device running the ControlNet Example Code that is
being tested. The test system is shown below:
ControlNet
PC Running 6200
Node X
PC Running TA
Node X
PLC5/XXC
Node 1
Example Packets
503
General
Detail
ControlNet header
Size
01
Control
83 02
04
Tag
UCMM header
00
Timeout
00 00
10
UCMM Datagram
Transaction ID & Sequence Number
IOI
03
20 65
24 01
Instance (1)
30 80
F4 01 08 10
1C 06 08 08
02 00 FF 10
00 00 00 00
8A 52 71 48
07 00 00 00
504
Example Packets
General
Detail
ControlNet header
Size
01
Control
83 02
02
Tag
UCMM header
0A
Timeout
XX XX
01
Code (Request)
Transaction ID & Sequence Number
IOI
02
20 01
24 01
Instance (1)
Table 50.C
Device Object Get_Attribute: Request ACK
Data (hex)
04
General
Detail
ControlNet header
Size
01
Control
83 01
01
Tag
UCMM header
00
XX XX
Example Packets
505
Table 50.D
Device Object Get_Attribute: Reply
Data (hex)
1E
General
Detail
ControlNet header
Size
01
Control
83 01
03
Tag
UCMM header
00
Timeout
XX XX
81
Code (Reply)
Transaction ID & Sequence Number
IOI
00
00
General status
00
01 00
0C 00
18 00
01
01
00 00
XX XX XX XX
Status
attributes
Serial number
09
31 37 37 31
2d 41 43 4E
52 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
Table 50.E
Device Object Get_Attribute: Reply ACK
Data (hex)
04
General
Detail
ControlNet header
Size
01
Control
83 02
05
Tag
UCMM header
00
XX XX
506
Example Packets
General
Detail
ControlNet header
Size
01
Control
83 03
02
Tag
UCMM header
5C
Timeout
XX XX
01
Code (Request)
Transaction ID & Sequence Number
IOI
02
20 7C
24 01
Instance (1)
Table 50.G
Rack Object Get_Attribute: Request ACK
Data (hex)
04
General
Detail
ControlNet header
Size
01
Control
83 03
05
Tag
UCMM header
00
XX XX
Example Packets
507
Table 50.H
Rack Object Get_Attribute: Reply
Data (hex)
1C
General
Detail
ControlNet header
Size
05
Control
83 01
03
Tag
UCMM header
0A
Timeout
XX XX
81
Code (Reply)
Transaction ID & Sequence Number
IOI
00
IOI size
00
General status
00
XX XX XX XX
Serial number
XX XX
Number of slots
XX XX
State
08 00 08 00
08 00 08 00
08 00 08 00
08 00 08 00
Slot sizes
XX XX XX XX
Input mask
Table 50.I
Rack Object Get_Attribute: Reply ACK
Data (hex)
04
General
Detail
ControlNet header
Size
01
Control
83 02
05
Tag
UCMM header
00
XX XX
508
Example Packets
General
Detail
ControlNet header
Size
01
Control
83 02
02
Tag
UCMM header
38
Timeout
XX XX
4C
02
20 06
24 01
Instance (1)
01
Forward open
Priority
38
parameters
Timeout
XX XX XX XX
OT connection ID
XX XX XX XX
TO connection ID
XX XX
01 00
XX XX XX XX
D0 2B
EPR
07 47
OT connection type
07 47
TO connection type
A3
02
Code (Request)
Trigger
Connection Path
Path size
20 02
24 01
Instance (1)
Example Packets
509
Table 50.K
Forward Open Request to Message Router: Request ACK
Data (hex)
04
General
Detail
ControlNet header
Size
01
Control
83 01
01
Tag
UCMM header
00
XX XX
Table 50.L
Forward Open to Message Router: Reply
Data (hex)
10
General
Detail
ControlNet header
Size
01
Control
83 01
03
Tag
UCMM header
00
Timeout
XX XX
CC
Code (Reply)
Transaction ID & Sequence Number
IOI
00
IOI size
00
General status
00
XX XX XX XX
Forward open
OT connection ID
XX XX XX XX
parameters
TO connection ID
XX XX
01 00
XX XX XX XX
D0 2B
EPR
00
00
Reserved
Table 50.M
Forward Open Reply to Message Router: Reply ACK
Data (hex)
04
General
Detail
ControlNet header
Size
01
Control
83 02
05
Tag
UCMM header
00
XX XX
5010
Example Packets
General
Detail
ControlNet header
Size
12
Control
XX
Tag pad
02 XX XX
XX XX
4B
Tag
Transport header
Message ID
IOI
02
IOI size
20 67
24 01
XX...
Instance (1)
PCCC Message
Table 50.O
Message to Message Router
Data (hex)
XX
General
Detail
ControlNet header
Size
12
Control
XX
Tag pad
01 XX XX
XX XX
CB
Tag
Transport header
Message ID
IOI
00
IOI size
00
General status
00
XX...
Example Packets
5011
General
Detail
ControlNet header
Size
01
Control
83 02
02
Tag
UCMM header
38
Timeout
XX XX
4E
Code (Request)
Transaction ID & Sequence Number
IOI
02
20 06
24 01
Instance (1)
00 00
Forward close
01 00
parameters
XX XX XX XX
02
00
Path size
Pad byte for alignment
20 02
24 01
Instance (1)
Table 50.Q
Forward Close Request to Message Router: Request ACK
Data (hex)
04
General
Detail
ControlNet header
Size
01
Control
83 01
01
Tag
UCMM header
00
XX XX
5012
Example Packets
Table 50.R
Forward Close to Message Router: Reply
Data (hex)
0B
General
Detail
ControlNet header
Size
01
Control
83 01
03
Tag
UCMM header
00
Timeout
XX XX
CE
Code
Transaction ID & Sequence Number
IOI
00
IOI size
00
General status
00
XX XX
Forward close
01 00
parameters
XX XX XX XX
00
00
Table 50.S
Forward Close Reply to Message Router: Reply ACK
Data (hex)
04
General
Detail
ControlNet header
Size
01
Control
83 05
05
Tag
UCMM header
00
XX XX
Code
Timeout
Transaction ID & Sequence Number
Example Packets
5013
5014
Example Packets
Among other packets captured by the TA, the following four should
be found:
Table 50.T
Forward Open to the Rack Object: Request
Data (hex)
1E
General
Detail
ControlNet header
Size
01
Control
83 02
02
Tag
UCMM header
38
Timeout
XX XX
4C
Code (Request)
Message ID
IOI
02
20 06
24 01
Instance (1)
01
Forward open
Priority
38
parameters
Timeout
XX XX XX XX
OT connection ID
XX XX XX XX
TO connection ID
XX XX
01 00
XX XX XX XX
XX XX
EPR
XX XX
OT connection type
XX XX
TO connection type
01
0A
Trigger
Connection Path
Path size
20 7C
24 01
Instance (1)
2C 02
2C 01
80 05
Data segment
01 00
Electronic Key
0C 00
18 00
01
01
XX XX
Table 50.U
Forward Open to Rack Object: Request ACK
Data (hex)
04
General
Detail
ControlNet header
Size
01
Control
83 01
01
Tag
UCMM header
00
XX XX
Example Packets
5015
Table 50.V
Forward Open to Rack Object: Reply
Data (hex)
10
General
Detail
ControlNet header
Size
01
Control
83 01
03
Tag
UCMM header
00
Timeout
XX XX
CC
Code
Transaction ID & Sequence Number
IOI
00
IOI size
00
General status
00
XX XX XX XX
Forward open
OT connection ID
XX XX XX XX
parameters
TO connection ID
XX XX
01 00
XX XX XX XX
71 0E
EPR
00
00
Table 50.W
Forward Open to Rack Object: Reply ACK
Data (hex)
04
General
Detail
ControlNet header
Size
01
Control
83 02
05
Tag
UCMM header
00
XX XX
Code
Timeout
Transaction ID & Sequence Number
5016
Example Packets
General
Detail
ControlNet header
Size
12
Control
XX
Tag pad
02 XX XX
XX XX
XX 00 00 00
Tag
Transport header
Message ID
Data
PLC Status
XX...
Outputs data
Table 50.Y
Real time Input Data from the Rack Object
Data (hex)
XX
General
Detail
ControlNet header
Size
52
Control
XX
Tag pad
02 XX XX
XX XX
XX 00 00 00
Tag
Transport header
Message ID
Data
Rack status
XX XX XX XX
Input mask
XX...
Inputs data
Example Packets
5017
General
Detail
ControlNet header
Size
01
Control
83 02
02
Tag
UCMM header
38
Timeout
XX XX
4E
Code (Request)
Transaction ID & Sequence Number
IOI
02
20 06
24 01
Instance (1)
01
Priority
38
Timeout
XX XX
Forward close
01 00
parameters
XX XX XX XX
02
00
Path size
Reserved for alignment
20 02
24 01
Instance (1)
5018
Example Packets
Table 50.AA
Forward Close to the Rack Object: Request ACK
Data (hex)
04
General
Detail
ControlNet header
Size
01
Control
83 01
01
Tag
UCMM header
00
XX XX
Table 50.AB
Forward Close to the Rack Object: Reply
Data (hex)
0B
General
Detail
ControlNet header
Size
01
Control
83 01
03
Tag
UCMM header
00
Timeout
XX XX
CE
Code (Reply)
Transaction ID & Sequence Number
IOI
00
IOI size
00
General status
00
XX XX
Forward close
01 00
parameters
XX XX XX
00
00
Table 50.AC
Forward Close to the Rack Object: Reply ACK
Data (hex)
04
General
Detail
ControlNet header
Size
01
Control
83 02
05
Tag
UCMM header
00
XX XX
Chapter
51
Dualport Interface
Page
Dualport Interface
511
512
513
Address 0x0078
Control &
Interrupt
Section
Reserved
60 Words
4 Words
Address 0x0080
Configuration
Section
14 Words
Network/ASIC
Timer Section
1 Word
Address 0x009C
Address 0x009E
UCMM
Tx Buffer
33 Words Default
UCMM
Rx Buffer
Address 0x00E0
Address 0x02E0
Communication
Services
Section
1168 Words
Address 0x0BFF
512
Offset
Size
R/W
Name
Description
0x0000
BYTE
ASIC_Fault_Flag
0x0001
BYTE
R/W
ASIC_to_HOST_Mask
Interrupt mask
0x0002
BYTE
ASIC_to_HOST_Request
Interrupt request
0x0003
BYTE
R/W
ASIC_to_HOST_Ack
Interrupt acknowledgement
0x0004
BYTE
R/W
HOST_to_ASIC_Request
0x0005
BYTE
HOST_to_ASIC_Ack
Interrupt acknowledgement
0x0006
WORD
ASIC_Selftest
0x0008
BYTE
ASIC_WD_Count
Watchdog register
0x0009
BYTE
HOST_WD_Count
Watchdog register
0x000A
LWORD
Start_Stop_Actual
0x000E
LWORD
Channel_Configured
0x0012
LWORD
Buffer_A_ASIC
0x0016
LWORD
Buffer_B_ASIC
0x001A
LWORD
Buffer_A_HOST
0x001E
LWORD
Buffer_B_HOST
0x0022
LWORD
Buffer_RX_Notify
0x0026
LWORD
TX_Buffer_A_Mask
0x002A
LWORD
TX_Buffer_B_Mask
0x002E
LWORD
RX_Buffer_A_Mask
0x0032
LWORD
RX_Buffer_B_Mask
0x0036
BYTE
Event_Queue_Write_Index
0x0037
BYTE
Event_Queue_Read_Index
0x0038
WORD
Event_Queue[32]
0x0078
WORD
Reserved[4]
0x0080
BYTE
Node_Address
0x0081
BYTE
Config_Type
0x0082
BYTE
Current_Net_Mode
0x0083
BYTE
Config_Result
0x0084
WORD
R/W
Config_Data[12]
0x009C
BYTE
Interval_Count
0x009D
BYTE
Comm_Timer
0x009E
WORD
UCMM_Tx_Status
0x00A0
WORD
R/W
UCMM_Tx_Buffer[UCMM_TX_SIZE]
0x00E0
WORD
UCMM_Rx_Source_MAC_TAG_Index
0x00E20x02A0
0x01220x049E
xxxx
xxxx
xxxx
xxxx
WORD
BYTE
BYTE
WORD
BYTE
R/W
R
W
R
R
R/W
W
UCMM_Rx_Buffer[UCMM_RX_SIZE]
U
_Rx_Buffer[U
_R _SI E]
DP_Buf_Start
Rx_Channel_Buffer_Size
Rx_Channel_Buffer_Status
Rx_Channel_Buffer[CHANNEL_SIZE]
Tx_Channel_Buffer_Size
xxxx
BYTE
R/W
Tx_Channel_Buffer_Status
xxxx
WORD
R/W
Tx_Channel_Buffer[CHANNEL_SIZE]
0x029E
513
ASIC_Fault_Flag
ASIC_Fault_Flag
ff7
ff6
ff5
ff4
ff3
ff2
ff1
ff0
The firmware provides self test results to the host CPU via the
ASIC_Selftest register in the dual port memory map. The firmware
does not execute self test at any time other than coming out of reset.
As a default out of reset, dual port reads of ASIC_Fault_Flag will be
clamped to 0xFF. The firmware will clear this condition after
completion of self test. The host can detect completion of self test
by reading something other than 0xFF from the ASIC_Fault_Flag.
If a runtime fault is detected the ASIC_Fault_Flag will change back
to 0xFF and a fault code will be placed into the ASIC_Selftest
register in dual port. (See ASIC_Selftest, on page 515.)
R/W
0x0002
0x0003
R/W
ASIC_to_HOST_Mask
timer
event
config
retur
n
ucmr
x
rxrdy
txdn
ASIC_to_HOST_Request
timer
event
config
retur
n
ucmr
x
rxrdy
txdn
ASIC_to_HOST_Ack
timer
event
config
retur
n
ucmr
x
rxrdy
txdn
Reserved
Milisecond Timer expired
New Event in Event Queue
Configuration Done
Return UCMM Transmit buffer
New UCMM Message Received
Rx_Rdy (New Receive buffer ready)
Tx_Done (Done with Transmit buffer)
514
The basic algorithm for interrupt control (for either ASIC to Host or
Host to ASIC interrupts) is as follows:
Assume the Request and Ack registers are initially as follows:
Request
Ack
= 0001 0101
= 0001 0101
= 0001 0101
= 0001 0101
= 0000 0000
= 0001 0100
= 0001 0101
= 0001 0100
= 0001 0101
= 0000 0001
2. XOR the results with the Ack byte and write this result to the Ack
memory location. This will acknowledge receipt of the these
requests.
Request
Ack
Temp reg.
= 0001 0100
= 0001 0100
= 0000 0001
= 0000 0001
515
HOST_to_ASIC_Request
abttx
notify
abts
m
config
ucmt
return
oldrx
newtx
0x0005
HOST_to_ASIC_Ack
abttx
notify
abts
m
config
ucmt
return
oldrx
newtx
Abort All Tx
Notify Register changed
Abort Station Management Request
Configuration Request
New UCMM to Transmit
Return UCMM Receive buffer
Old_Rx (Old buffer for Receive)
New_Tx (New buffer to Transmit)
ASIC_Selftest
0x0006
0x0007
ASI _Selfte t
ASIC_Selftest
pre3
pre2
pre1
pre0
post3
post2
post1
post0
rev3
rev2
rev1
rev0
flt3
flt2
flt1
flt0
This register holds the MAC processor selftest results and the Comm
processor firmware revision and fault code. The selftest results are
broken out into preReset (pre3 pre0) and postReset (post3
post0) results. The preReset field should be ignored on initial
poweron reset. Good data is in this field only after subsequent
resets without power deasserted.
MAC Processor Fault Code Values
Selftest Error Values:
post3 post0 Description
0
1
2
3
4
5
No Error
Incorrect ROM signature
MAC RAM test failure
Streams test failure
Max packet test failure
BigMAC test failure
516
No Error
Weeds fault
Jabber fault
Illegal state
Remote Reset
The ASIC fault bits (flt3 flt0) indicate either a selftest or runtime
error. If the ASIC_Fault_Flag (page 513) changes to 0xFF, a
runtime fault was detected. The appropriate fault code will be
placed in the fault bits.
COMM Processor Fault Code Values
Selftest Error Values:
flt3flt0
Description
0
1
2
3
4
5
6
No Error
Incorrect ROM signature
Private RAM test failure
Screener RAM test failure
Dual Port RAM test failure
FIFO RAM test failure
Instruction set test failure
The firmware revision will be read in the rev3 rev0 bits. This
revision will be written at powerup and will not change during the
firmwares operation.
ASIC_WD_Count
acnt7
acnt6
acnt5
acnt4
acnt3
acnt2
acnt1
acnt0
0x0009
HOST_WD_Count
hcnt7
hcnt6
hcnt5
hcnt4
hcnt3
hcnt2
hcnt1
hcnt0
517
518
Start_Stop_Actual
0x000A
0x000B
0x000C
0x000D
Start_Stop_Actual
ch8
ch7
ch6
ch5
ch4
ch3
ch2
ch1
ch16
ch24
0
ch15
ch23
ch31
ch14
ch22
ch30
ch13
ch21
ch29
ch12
ch20
ch28
ch11
ch19
ch27
ch10
ch18
ch26
ch9
ch17
ch25
Channel_Configured
0x000E
ch8
ch7
ch6
ch5
ch4
ch3
ch2
ch1
0x000F
0x0010
ch16
ch24
ch15
ch23
ch14
ch22
ch13
ch21
ch12
ch20
ch11
ch19
ch10
ch18
ch9
ch17
ch31
ch30
ch29
ch28
ch27
ch26
ch25
Channel_Configured
hannel_ onfigured
0x0011
Buffer_A_ASI
Buffer_A_ASIC
Buffer_B_ASI
Buffer_B_ASIC
ch8
ch7
ch6
ch5
ch4
ch3
ch2
ch1
ch16
ch24
0
ch15
ch23
ch31
ch14
ch22
ch30
ch13
ch21
ch29
ch12
ch20
ch28
ch11
ch19
ch27
ch10
ch18
ch26
ch9
ch17
ch25
ch8
ch16
ch24
0
ch7
ch15
ch23
ch31
ch6
ch14
ch22
ch30
ch5
ch13
ch21
ch29
ch4
ch12
ch20
ch28
ch3
ch11
ch19
ch27
ch2
ch10
ch18
ch26
ch1
ch9
ch17
ch25
519
Buffer_A_ OST
Buffer_A_HOST
Buffer_B_ OST
Buffer_B_HOST
0x0021
ch8
ch7
ch6
ch5
ch4
ch3
ch2
ch1
ch16
ch24
0
ch15
ch23
ch31
ch14
ch22
ch30
ch13
ch21
ch29
ch12
ch20
ch28
ch11
ch19
ch27
ch10
ch18
ch26
ch9
ch17
ch25
ch8
ch16
ch24
ch7
ch15
ch23
ch6
ch14
ch22
ch5
ch13
ch21
ch4
ch12
ch20
ch3
ch11
ch19
ch2
ch10
ch18
ch1
ch9
ch17
ch31
ch30
ch29
ch28
ch27
ch26
ch25
Buffer_RX_Notify
0x0022
0x0023
0x0024
0x0025
Buffer_R _ otify
Buffer_RX_Notify
ch8
ch7
ch6
ch5
ch4
ch3
ch2
ch1
ch16
ch24
0
ch15
ch23
ch31
ch14
ch22
ch30
ch13
ch21
ch29
ch12
ch20
ch28
ch11
ch19
ch27
ch10
ch18
ch26
ch9
ch17
ch25
The Notify register is used to tell the firmware whether the host
wishes to be informed when new data arrives. The bits in this
register control channel behavior, not individual buffer behavior.
When the host is operating in the Suppressed mode for certain
channels, the notify bits for those channels are set to zero. When the
host is operating in the Notify mode, the notify bits are set to one.
When the host changes this register, the host must interrupt the
firmware to process the changes. This is accomplished by toggling
the notify interrupt bit in the HOST_to_ASIC_Request (page 515)
for triggering the firmware to process changes to the Notify registers.
5110
T _Buffer_A_ a
TX_Buffer_A_Mask
T _Buffer_B_ a
TX_Buffer_B_Mask
ch8
ch7
ch6
ch5
ch4
ch3
ch2
ch1
ch16
ch24
0
ch15
ch23
ch31
ch14
ch22
ch30
ch13
ch21
ch29
ch12
ch20
ch28
ch11
ch19
ch27
ch10
ch18
ch26
ch9
ch17
ch25
ch8
ch16
ch24
0
ch7
ch15
ch23
ch31
ch6
ch14
ch22
ch30
ch5
ch13
ch21
ch29
ch4
ch12
ch20
ch28
ch3
ch11
ch19
ch27
ch2
ch10
ch18
ch26
ch1
ch9
ch17
ch25
ch8
ch7
ch6
ch5
ch4
ch3
ch2
ch1
0x002F
0x0030
0x0031
ch16
ch24
0
ch15
ch23
ch31
ch14
ch22
ch30
ch13
ch21
ch29
ch12
ch20
ch28
ch11
ch19
ch27
ch10
ch18
ch26
ch9
ch17
ch25
ch8
ch16
ch24
ch7
ch15
ch23
ch6
ch14
ch22
ch5
ch13
ch21
ch4
ch12
ch20
ch3
ch11
ch19
ch2
ch10
ch18
ch1
ch9
ch17
ch31
ch30
ch29
ch28
ch27
ch26
ch25
0x0032
0x0033
0x0034
R _Buffer_A_ a
RX_Buffer_A_Mask
R _Buffer_B_ a
RX_Buffer_B_Mask
0x0035
0x0036
Event_Queue_Write_Index
addr4
0x0037
Event_Queue_Read_Index
ovwr
addr4
E ent_Queue[0]
Event_Queue[0]
id4
addr
3
id3
src7
src6
src5
src4
src7
src6
src5
0x0038
0x0039
addr2
addr1
addr0
addr2
addr1
addr0
id2
id1
id0
src3
src2
src1
src0
id4
id3
id2
id1
id0
src4
src3
src2
src1
src0
...
0x0076
0x0077
E ent_Queue[31]
Event_Queue[31]
5111
5112
If events pile up to the point where 31 events are posted and a 32nd
event occurs. The firmware will post an event overflow. It does this
by writing over the last event posted with the event overflow event.
It continues to do this until the host frees up an event location. At
this point, events will again be posted as before. When the host
reaches the overflow indication, it should consider this a fault
condition. The host recovery mechanism is a product design
decision. It is hoped that products are designed such that it is highly
improbable for this to occur as part of normal operation.
A debugging feature is included in the firmware which allows the
host to prevent Event_Queue_Overflow events by writing a value of
0x20 to the Event_Queue_Read_Index (i.e., setting the ovwr
overwrite enable bit). This will cause the firmware to write new
events over the oldest event. At that point, the host will not know
which events it has or has not processed but it will be able to see the
last 32 events posted by the firmware.
Event Source
Values (Hex)
UCMM_CHANNEL_EVENTS
DATA_CHANNEL_EVENTS
1 1F
QUEUE_EVENTS
FE
NETWORK_EVENTS
FF
Event Name
Value
(Hex)
5113
Description
EVENT_QUEUE_OVERFLOW
Reserved
OVERFLOW_EVENT
OVERWRITE_EVENT
RX_DATA_TOO_BIG_EVENT
INSUFFICIENT_BW_EVENT
OFF_LINE_DUP_EVENT
OFF_LINE_ROGUE_EVENT
ON_LINE_EVENT
LONELY_EVENT
RX_DATA_TIMEOUT_EVENT
OFF_LINE_RESET_EVENT
ON_LINE_CHANGE_EVENT
UCMM_TX_BUFFER_EVENT
UCMM_RX_BUFFER_EVENT
HEARTBEAT_TIMEOUT_EVENT
10
PARAMETER_ERROR_EVENT
11
GUARDBAND_ERROR_EVENT
12
5114
Node_Address
0x0081
Config_Type
0x0082
Current_Net_Mode
0x0083
Config_Result
0x0084
0x0085
RW
R/W
Config_Data[0]
onfig_Data[0]
addr5
addr4
addr
3
cfg4
cfg3
cfg2
cfg1
cfg0
mod2
mod1
mod0
addr6
addr2
addr1
addr0
rslt3
rslt2
rslt1
rslt0
dat7
dat6
dat5
dat4
dat3
dat2
dat1
dat0
dat15
dat14
dat13
dat12
dat11
dat10
dat9
dat8
...
0x009A
0x009B
RW
R/W
Config_Data[11]
onfig_Data[11]
dat7
dat6
dat5
dat4
dat3
dat2
dat1
dat0
dat15
dat14
dat13
dat12
dat11
dat10
dat9
dat8
5115
5116
Once the MAC ID is configured, the firmware will use a very loose
set of MAC parameters that will allow it to receive messages
regardless of what is actually in use on the wire. This will enable the
firmware to obtain the correct MAC parameters from a keeper.
Config_Type and Config_Result
The following table lists the configuration types and the possible
configuration results. The Value column indicates the number to be
entered in the Config_Type register and the Configuration Result
shows the possible values returned in the Config_Result register.
The Configuration Type column shows the name of configuration
and the steps that the firmware takes to complete the configuration
request. The error code results are listed across from the firmware
step than can generate those errors. The Data Structure column
identifies a Config_Data structure associated with the request. The
structures are shown in the table in the Config_Data section below.
Value
1 (0x01)
2 (0x02)
3 (0x03)
4 (0x04)
5 (0x05)
6 (0x06)
7 (0x07)
Configuration Type
Configuration Result
SET_MAC_ID_FROM_PW_BCD
Read the Pushwheel port
Write value to dualport
Validate BCD
Convert BCD to Binary
Range check 199
Set MAC processors MAC_ID
SET_MAD_ID_FROM_PW_BINARY
Read Pushwheel port
Write value to dualport
Range check 199
Set MAC processors MAC_ID
SET_MAD_ID_FROM_DP
Read Binary value from dualport
Range check 199
Set MAC processors MAC_ID
GET_MAD_ID_FROM_PW_RAW
Read the Pushwheel port or general
purpose input port
Write value to dualport
SET_MAD_ID_FROM_DP_RAW
Read Binary value from dualport
Set MAC processors MAC_ID
SET_MAC_PARAMS_FROM_WIRE
(This is handled automatically and is no
longer used.)
GET_WORK_MAC_PARAMS_INTO_WINDOW
Read Working MAC_PARAMS from
MAC processor into dualport
0x00 = SUCCESS
0x0E = INVALID_MODE_FOR_COMMAND
Data
Structure
N/A
0x0C = INVALID_BCD
0x0D = INVALID_MAC_ID
0x00 = SUCCESS
0x0E = INVALID_MODE_FOR_COMMAND
N/A
0x0C = INVALID_MAC_ID
0x00 = SUCCESS
N/A
0x0C = INVALID_MAC_ID
0x00 = SUCCESS
0x0D = INVALID_MODE_FOR_COMMAND
N/A
0x00 = SUCCESS
N/A
0x02 = INVALID_CONFIG_TYPE
N/A
0x00 = SUCCESS
0x0E = INVALID_MODE_FOR_COMMAND
Value
8 (0x08)
9 (0x09)
10 (0x0A)
11 (0x0B)
12 (0x0C)
13 (0x0D)
14 (0x0E)
15 (0x0F)
16 (0x10)
17 (0x11)
Configuration Type
Configuration Result
GET_HOLD_MAC_PARAMS_INTO_WINDOW
Read Holding MAC_PARAMS from
MAC processor into dualport
SET_MAC_PARAMS_FROM_WINDOW
Write Holding MAC_PARAMS to MAC
processor from dualport
APPLY_MAC_PARAMS
Send USE command to MAC processor
with Tminus value from dualport
RESET_TO_LISTEN_ONLY
Set MAC processor to LISTEN_ONLY mode
CLEAR_DIAGNOSTIC_COUNTERS
Send GET_AND_CLEAR_COUNTERS to
MAC processor
Copy 1st half of counters to dualport
Save 2nd half of counters
GET_CONFIG_CHANNEL
Get a channels configuration into dualport
SET_CONFIG_CHANNEL
Set a channels configuration from dualport
0x00 = SUCCESS
0x0E = INVALID_MODE_FOR_COMMAND
SET_ALL_DEFAULTS
(no longer used)
SET_PRODUCER_TAGS
set up to 4 Producer TAGs
SET_CONSUMER_TAGS
set up to 4 Consumer TAGs
18 (0x12)
START_CHANNELS
19 (0x13)
20 (0x14)
STOP_CHANNELS
GET_DIAGNOSTIC_COUNTERS_1
Send GET_COUNTERS to MAC processor
Copy 1st half of counters to dualport
Save 2nd half of counters
GET_DIAGNOSTIC_COUNTERS_2
Copy 2nd half of counters from last read
into dualport
GET_STATION_STATUS
TX_UCMM_CONFIG_NO_RESPONSE
21 (0x15)
22 (0x16)
23 (0x17)
5117
Data
Structure
1
0x00 = SUCCESS
0x00 = SUCCESS
N/A
0x00 = SUCCESS
N/A
0x00 = SUCCESS
N/A
0x00 = SUCCESS
0x00 = SUCCESS
0x01 = INVALID_CHANNEL
0x03 = CHANNEL_NOT_STOPPED
0x04 = INVALID_TRANSPORT_TYPE
0x05 = INVALID_FEATURES
0x06 = INVALID_ADDRESS
0x07 = ADDRESS_TOO_SMALL
0x08 = ADDRESS_TOO_BIG
0x09 = DUPLICATE_TAG_CONFIG
0x02 = INVALID_CONFIG_TYPE
N/A
0x00 = SUCCESS
0x03 = CHANNEL_NOT_STOPPED
0x00 = SUCCESS
0x03 = CHANNEL_NOT_STOPPED
0x09 = DUPLICATE_TAG_CONFIG
0x00 = SUCCESS
0x0A = CHANNELS_NOT_CONFIGURED
0x00 = SUCCESS
0x00 = SUCCESS
0x00 = SUCCESS
0x00 = SUCCESS
0x00 = SUCCESS
0x0B = INVALID_BUFFER_SIZE
0x0E = INVALID_MODE_FOR_COMMAND
4
4
6
3
N/A
5118
Value
Configuration Type
Configuration Result
24 (0x18)
TX_UCMM_CONFIG_WAIT_FOR_RESPONSE
25 (0x19)
26 (0x1A)
27 (0x1B)
28 (0x1C)
SET_ASIC_OPERATING_MODE
GET_UCMM_BUFFER_SIZES
SET_UCMM_BUFFER_SIZES
MEMORY_TO_MEMORY_MOVE
0x00 = SUCCESS
0x0B = INVALID_BUFFER_SIZE
0x0E = INVALID_MODE_FOR_COMMAND
0x00 = SUCCESS
Data
Structure
N/A
8
9
9
N/A
Description
000
Invalid Mode
001
Powerup Mode
010
ListenOnly Mode
011
OnLine Mode
100
Duplicate Mode
Config_Data
The following table shows the various Config_Data structures that
are used with the configuration commands listed above. The
Structure # column corresponds to the Data Structure value in the
Configuration Type table.
Structure #
Structure Name
MAC Parameters
TAGS
Station Status
Start/Stop Channels
Channel Configuration
Name
Network Update Time
Sched Max Node
Unsched Max Node
Slot Time
Blanking Time
Guardband Start
Guardband Center
Redundancy Control
Sched Max Frame
Interval Modulus
Guardband Prestart
Macro Cycle Start
Macro Cycle Length
Macro Cycle Count
Macro Cycle Multiplier
Table Unique Identifier (TUI)
ControlNet Object State
Channel Number
TAG ID
Channel Number
TAG ID
Channel Number
TAG ID
Channel Number
TAG ID
MAC Processor Version
Dirty Bits
Toggle Bits
Host Bits
Hardware Configuration
Channel State
Channels [16:1]
Channels [31:17]
Channel Select
Reserved
Transport Type
Feature Select
Buffer A Size
Buffer B Size
Buffer A Pointer
Buffer B Pointer
Producer TAG ID
Consumer TAG ID
Response Timeout
Tx NUT Number
Address
0x0084
0x0086
0x0087
0x0088
0x0089
0x008A
0x008B
0x008C
0x008D
0x008E
0x008F
0x0090
0x0091
0x0092
0x0093
0x0094
0x009A
0x0084
0x0085
0x0088
0x0089
0x008C
0x008D
0x0090
0x0091
0x0084
0x0085
0x0086
0x0087
0x0088
0x0089
0x0084
0x0086
0x0084
0x0085
0x0086
0x0087
0x0088
0x0089
0x008A
0x008C
0x008E
0x0091
0x0094
0x0096
Size
(Bytes)
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
6
2
1
3
1
3
1
3
1
3
1
1
1
1
1
1
2
2
1
1
1
1
1
1
2
2
3
3
2
2
5119
Notes
5120
Structure #
Structure Name
Operating Mode
UCMM Buffers
Buffer Errors
Error Log
Good Frame Transmitted
Good Frame Received
Selected Channel Errors
Channel A Frame Errors
Channel B Frame Errors
Aborted Frames Transmitted
Highwaters
NUT Overloads
Slot Overloads
Blockages
0x0084
0x0086
0x008E
0x0091
0x0094
0x0095
0x0096
0x0097
0x0098
0x0099
0x009A
0x009B
Size
(Bytes)
2
8
3
3
1
1
1
1
1
1
1
1
NonConcurrence
0x0084
0x0085
0x0086
0x0087
0x0088
0x0089
0x008A
0x008B
0x008C
0x008D
1
1
1
1
1
1
1
1
1
0x008E
0x008F
0x0093
0x0094
0x0095
0x0084
0x0086
0x0088
0x0084
0x0085
0x0086
4
1
1
1
2
2
2
1
1
2
Name
Address
Notes
Size is in Words
Size is in Words
Applies only to the get
5121
R/W
Feature_Select
txdn
ovfl
rxdup
fast
prio1
prio0
modt
x
lonely
clkout
ovfl
pass
addit
auto
ready
red1
red0
Operating_Mode
Reserved Set to 1
Disable Moderator Transmit
Enable Lonely Event
Reserved Set to 0
Reserved Set to 0
Enable Clock_Out Output
Enable UCMM Overflow
Enabled ControlNet Object Passthrough
0x0085
Operating_Mode
5122
Redundant (03)
Channel A (02)
Channel B (01)
None (00)
Redundant (default) 0 0
Redundant
Channel A Only
Channel B Only
NAP Only
01
Parameter Error
Channel A Only
Parameter Error
NAP Only
10
Parameter Error
Parameter Error
Channel B Only
NAP Only
NAP Only
NAP Only
NAP Only
NAP Only
NAP Only
11
Ready Timing
Description
Enable Auto
Address Dup
Description
Enable Additional
External
ControlNet
Services
Description
Interval_Count
0x009C
Interval_Count
cnt7
cnt6
cnt5
cnt4
cnt3
cnt2
cnt1
cnt0
This field displays the current NUT number. The firmware gets the
current value from the MAC processor at each Guardband. The
count rolls over back to 0 when the working net configuration
interval_count modulas (Macrocycle Length) is reached.
5123
Comm_Timer
0x009D
Comm_Timer
time7
time6
time5
time4
time3
time2
time1
time0
UCMM_Tx_Status
0x009E
0x009F
U
_Tx_Statu
UCMM_Tx_Status
rslt3
rslt2
rslt1
rslt0
Description
0000
0001
0010
0011
UCMM_Tx_Buffer
0x00A0
0x00A1
RW
R/W
U
UCMM_Tx_Buffer[UCMM_TX_SIZE]
_Tx_Buffer[U
_T _SI E]
dat7
dat6
dat5
dat4
dat3
dat2
dat1
dat0
dat15
dat14
dat13
dat12
dat11
dat10
dat9
dat8
UCMM_Rx_Source_MAC_TAG_Index
0X00E0*
0x00E1
U
UCMM_Rx_Source_MAC_TAG_Index
_Rx_Source_ A _TAG_Index
src7
src6
src5
src4
src3
src2
src1
src0
tag7
tag6
tag5
tag4
tag3
tag2
tag1
tag0
5124
"
UCMM_Rx_Buffer
0X00E2*
R/W
UCMM_Rx_Buffer[UCMM_RX_SIZE]
dat7
dat6
dat5
dat4
dat3
dat2
dat1
dat0
0x00E3
R/W
UCMM_Rx_Buffer[UCMM_RX_SIZE]
dat15
dat14
dat13
dat12
dat11
dat10
dat9
dat8
"
Rx_Channel_Buffer
xxxx
Rx_Channel_Buffer_Size
xxxx
Rx_Channel_Buffer_Status
xxxx
RW
R/W
sz7
sz6
sz5
sz4
sz3
sz2
sz1
sz0
rsvd
pad
szErr
type
dat7
dat15
dat6
dat14
dat5
dat13
dat4
dat12
dat3
dat11
dat2
dat10
dat1
dat9
dat0
dat8
The receive channel buffers are located in the dualport buffer space
which can be located anywhere after the end of the
UCMM_Rx_Buffer. That address is dependent upon the configured
size of the UCMM transmit and receive buffers. With minimum Tx
and Rx sizes, the offset will be 0x0122. With default sizes it will be
0x2e0, and with maximum sizes it will be 0x49e.
5125
Tx_Channel_Buffer
xxxx
Tx_Channel_Buffer_Size
sz7
sz6
sz5
sz4
sz3
sz2
sz1
sz0
xxxx
R/W
Tx_Channel_Buffer_Status
rslt3
rslt2
rslt1
rslt0
pad
type
xxxx
RW
R/W
dat7
dat15
dat6
dat14
dat5
dat13
dat4
dat12
dat3
dat11
dat2
dat10
dat1
dat9
dat0
dat8
The transmit channel buffers are located in the dualport buffer space
which can be located anywhere after the end of the
UCMM_Rx_Buffer. That address is dependent upon the configured
size of the UCMM transmit and receive buffers. With minimum Tx
and Rx sizes, the offset will be 0x0122. With default sizes it will be
0x2e0, and with maximum sizes it will be 0x49e.
The Tx_Channel_Buffer_Size indicates the data size, in words, of
the message to be transmitted. The status contain two bits (type and
pad) for characterizing the messaging going out and 4bits (rslt3
rslt0) of transmit status returned to the host. The type bit directs the
firmware to send the buffer as NEW or DUPLICATE data. If the
data is NEW, the type bit will be cleared. If DUPLICATE, it will be
set. The pad bit indicates if there is a PAD byte at the end of the
buffer. When set, a PAD byte is present.
"
Description
0000
0001
0010
0011
5126
Page
01hex
512
02hex
5114
06hex
5118
PCCC Object
67hex
5121
Rack Object
7Chex
5125
ControlNet Object
65hex
5132
512
513
Table 51.A
Class Attributes for the Device/Identity Object
Attribute
ID
Need in
Implementation
Access
Rule
Name
Data Type
Description of Attribute
Semantics of Values
Optional*
Get
Revision
UINT
Optional
Get
Max Instance
UDINT
Optional
Get
Number of
Instances
UDINT
Optional
Get
Optional
attribute list
STRUCT of
number
attributes
UINT
optional
attributes
ARRAY of
UINT
Optional
service list
STRUCT of
number services
UINT
optional services
ARRAY of
UINT
Optional
Get
Optional
Get
Maximum ID
Number Class
Attributes
UINT
Optional
Get
Maximum ID
Number
Instance
Attributes
UINT
*If the value is 01, then this attribute is OPTIONAL in implementation. If the value is greater than 01, then this attribute is REQUIRED.
514
Table 51.B
Instance Attributes for the Device/Identity Object
Attribute
ID
1
2
Need in
Implementation
Access Name
Rule
Required
Get
Required
Data Type
Description of Attribute
Semantics of Values
Vendor1
UINT
Get
Product Type1
UINT
Required
Get
Product Code1
UINT
Identification of a particular
product of an individual
vendor
Required
Get
Revision1
STRUCT of:
Required
Get
Status
WORD
Required
Get
Serial number
UDINT
Required
Get
Product name
STRUCT of:
Length
USINT
Contents
array of
USINTs
minimum 0
maximum 32
Contents (characters)
515
Semantics
Note1 Vendor ID is 1 for Allen-Bradley. Value zero means
Unknown when returned as an attribute.
Note2 The Product Type attribute indicates the general type of this
product. Multiple vendors use the Open range of values. There is
also a vendor specific range. The Product Type is used to:
Register Assembly Object instance definitions
Provide a scope for the Product Code numbers
If the value zero is returned as an attribute, it means Generic
Device. An explanation of the Generic Device must be supplied in
the vendor documentation.
Note3 The Product Code attribute identifies a product among a
particular product type. Each vendor assigns this code to each of its
products. It should map into a catalog/bulletin number. Value zero
is reserved to mean Unassigned. If the value zero is returned as
the attribute value, it means Generic Vendor Product.
Note4 The Revision attribute, consists of Major and Minor
Revisions, identifies the revision of the item the Identity Object
represents. If the value zero is returned as an attribute, it means
Unknown. The Major and Minor attributes are sometimes called
a Series and Revision, respectively. The Major Revision attribute is
limited to 7 bits. The eighth bit is reserved and must have a default
value of zero.
516
Is Called:
Owned
1
2
reserved
Configured
reserved, set to 0
4,5,6,7
State
10
11
517
Bits: 7,6,5,4
0000
Self-testing (power-up)
Solid Red
0001
Flashing Red
0010
Flashing Red
0011
Flashing Green
0100
Flashing Red
0101
0110
Connected, Active
Solid Green
0111
Flashing Green
1 0 0 0 thru
1001
not defined
1 0 1 0 thru
1111
to be defined in products
Statement of Compliance.
The value of the following status bits indicates the state of the
module. The event that sets the bit may also cause a state change.
Recoverable in this context implies recoverable via
communications commands.
Recoverable
Unrecoverable
Bit 8
Bit 9
Bit 10
Bit 11
518
See the State Transition Diagram in Figures 51.2, 51.3, and 51.4
below:
Figure 51.2, Communication Module State Transition Diagram
for the Device/Identity Object
Figure 51.3, Controller State Transition Diagram for the
Device/Identity Object
Figure 51.4, I/O Module State Transition Diagram for the
Device/Identity Object
Note6 The Serial Number is a unique number for each module
produced by a vendor. Use it in conjunction with the Vendor
Number to be a unique number for the ControlNet system.
Note7 The Product Name attribute consists of length and contents.
Use only the actual number of character bytes required, with no
trailing NULL byte. The receiver of the Get_Attributes_All service
response must have enough buffer to receive a 32-character array.
The values of the USINTs in the product name string are ASCII
characters from the range 0x20 to 0x7E, inclusive.
Following is a sample Product Name format for Allen-Bradley
products:
s Catalog Number
p
a
c 1756-OB16D
e
1756-IA16I
Allen-Bradley
A-B
A-B
s Abbreviated
p Description
a
c 24VDC DIAG OUTPUT
e
120VAC ISOLATED
Common Services
The Device/Identity Object provides the following Common
Services:
Service
ervice Code
ode
Need in
Implementation
Service
ervice Name
ame
Description of Service
ervice
Optional
Get_Attributes_Single
Optional
Required
Reset
01hex
Optional
Required
Get_Attributes_All
03hex
Optional
Optional
Get_Attributes_List
11hex
Optional
n/a
Find_Next_Object_Instance
Class
Instance
0Ehex
Optional*
05hex
519
Reset Service
When the Device/Identity Object receives a Reset request, it
determines if it can provide the type of reset requested
responds to the request
attempts to perform the type of reset requested
The Reset common service has the following object-specific
parameter:
Name
Type
Description of Request
Parameters
Semantics of
Values
Type
USINT
Type of Reset
See Table
below.
The parameter for the Reset common service has the following
specifications:
Value:
Type of Reset:
Emulate as closely as possible cycling power on the item the Identity Object
represents. This value is the default if this parameter is omitted.
Get_Attributes_All Response
Name
Data Type
Vendor
UINT
ID of vendor
Product Type
UINT
Product Type
Product Code
UINT
Product Code
Revisions
2 USINTs
Status
WORD
Serial number
UDINT
Product Name
USINT
Length
(continued)
USINTs
1 Because the length of the name is not known before issuing the Get_Attributes_All service request,
Object-specific Services
The Device/Identity Object provides no Object-specific services.
5110
Connections
The Device/Identity Object does not directly support any
connections.
Behavior
In the following State Transition Diagrams (STD), we show behavior
of the Device/Identity Object for a:
Communication Module
Controller
I/O Module
These STDs associate the state of the device with the status reported
by the Status Attribute and the state of the Health LED.
The Device/Identity Object State Transition Diagram, state number
definitions and product specific status definitions are included in the
products Statement of Compliance document.
Important:
Bits 7,6,5,4 of
attribute 5
0000
If:
0100
0011
0110
5111
0101
0001
Any State
Power-On Reset or
Software Reset
1 Solid Red
Passed
3 Flashing Green
Real-time connection or
unconnected message
passed through
4 Solid Green
Any State
Flashing Red
Unkeyed
Awaiting
Connection
Non-Volatile
Configuration
Bad
Flashing Red
Configuration
Corrected
Active
Connected
Major Unrecoverable
fault occurs
Major
Unrecoverable
Fault
Solid Red
Controller Example
A Controller Health LED should behave according to the following
Health LED status table.
Bits 7,6,5,4 of
attribute 5
If:
0000
1. go to Solid Red
0101
2. go to Flashing Red
0110
3. go to Solid Green
0101
4. go to Solid Red
0001
5. go to Flashing Red
5112
Any State
Power-On Reset
of Software Reset
1 Solid Red
Passed
3 Solid Green
Flashing Red
Connected
Any State
Major Fault
Detected
Fault
Cleared
Major
Recoverable
Fault
Major Recoverable
Fault Occurs
Major unrecoverable
fault occurs
Flashing Red
Major
Unrecoverable
Fault
Solid Red
If:
0000
a Power-On or Software reset occurs and stays red while conducting Module Self- Testing.
0001
0010
0011
the static configuration is corrected, or it was never bad (passes Self Test). This indicates
the I/O Module is Unkeyed/Idle, but not yet communicating.
0100
at the end of self-test, non-volatile (static) configuration is bad. This indicates a user
correctable fault.
0101
0110
0111
5113
Figure 51.4
Single Connection I/O Module State Transition Diagram for
the Device/Identity Object
Start
Update
Non-Volatile
Storage
Update
Any State
Flashing Red
PowerOn Reset
or Software Reset
SelfTesting
(LED test 1 sec)
0 Solid Red
Static
Configuration
Corrected
Open Connection
with Correct Key
Wait for
Initial Data
Major
Major
Unrecoverable
Unrecoverable
Fault
Fault
Solid Red
Statis Configuration
bad (key module
functions impaired)
No Faults Detected
Idle Mode defaults to all OFF
3 Flashing Green
Unkeyed
Close Connection
(Wait for
Connection)
Open Connection
(glitchless)
Internal
Fault
Non-Volatile
Configuration
Fault
Flashing Red
transition state
Outputs wait first data
Open Connection
Inputs Only
6 Solid Green
Close Connection
Run
(output)
7 Flashing Green
Close Connection
Run
Run
Idle
(output)
Idle
Idle
Open Connection
2 Flashing Red
Communication
Fault
Connection
Timeout
Wait, Idle
or Run State
5114
Table 51.C
Class Attributes for the Message Router Object
Number
Need in
Implementation
Access
Rule
Name
Data Type
Description of Attribute
Semantics of Values
Optional*
Get
Revision
UINT
Optional
Get
Optional
Get
Optional
attribute list
STRUCT of
number
attributes
UINT
optional
attributes
ARRAY of
UINT
Optional
service list
STRUCT of
number
services
UINT
Optional
Get
Max ID
Number of
Class
Attributes
UINT
Optional
Get
Max ID
Number of
Instance
Attributes
UINT
*If the value is 01, then this attribute is OPTIONAL in implementation. If the value is greater than 01, then this attribute is REQUIRED.
5115
Number
Need in
Implementation
Optional
Access
Rule
Name
Data Type
Description of Attribute
Semantics of Values
Get
Object_list
STRUCT of
Number
UINT
Classes
ARRAY of
UINT
Optional
Get
Number
Available
UINT
Maximum number of
connections supported
Optional
Get
Number active
UINT
Number of connections
currently used by system
components
Optional
Get
Active
Connections
ARRAY of:
UINT
Common Services
The Message Router Object provides the following Common
Services:
Need in Implementation
ervice
Service
Code
ode
Class
Instance
0Ehex
Optional*
Optional*
Get_Attribute_Single
01hex
Optional
Optional
Get_Attributes_All
03hex
Optional
Optional
Get_Attributes_List
0Ahex
n/a
Optional
Multiple Command
Service
ervice Name
ame
Description of
Service
ervice
Performs multiple
commands
Table 51.D
Instance Attributes for the Message Router Object
5116
Get_Attributes_All Response
Set_Attributes_All Request
No settable attributes exist on either the Class or Instance level for
the Message Router Object.
Object-specific Services
The Message Router Object provides no object specific services.
Number
Description of Service
Messaging
Table 51.E
Structure of Input Data for the Messaging Connection
Data Name
Data Type
Description of Data
Message
Request
STRUCT of
Data
Semantics
of Values
Table 51.F
Structure of Output Data for the Messaging Connection
Data Name
Data Type
Description of Data
message
response
STRUCT of
Data
Semantics
of Values
5117
Behavior
Service Request
Interpretation of the Class Instance is performed on every service
received by the Message Router.
Any Class Instance that cannot be interpreted by a devices
implementation of a Message Router will report the
Object_Not_Found error.
The service is then routed to an application object. The information
routed to an application object must include the following:
the service code of the message
a pointer to the next byte to access in the message
the number of bytes left to process in the message
a device specific identification of the message source or
Connection ID for the response
If no Class Instance specification is supplied or if the message
specifies the Message Router Object itself, the service is processed
by the Message Router.
Service Response
All service responses are routed to the source of the service request.
The source could be one of the following:
the Unconnected Message Manager
an active connection to the Message Router Object
This requires the service request sources to supply a unique
identifier. This identifier is device- and implementation-specific and
simplifies implementation of the Message Router in any given
application.
Important:
5118
Connection Manager
Object
Access
Rule
Name
Data Type
Description of Attribute
Optional
Get
Revision
UINT
Optional
Spec
Max Instance
UDINT
Number
Semantics of Values
Table 51.H
Instance Attributes for the Connection Manager Object
Number
Need in
Implementation
Access
Rule
Name
Type
Description of Attribute
Optional
Set
OpenReqs
UINT
Optional
Set
OpenFormat
Rejects
UINT
Optional
Set
OpenResource
Rejects
UINT
Optional
Set
OpenOther
Rejects
UINT
Optional
Set
CloseReqs
UINT
Optional
Set
CloseFormat
Rejects
UINT
Optional
Set
CloseOther
Rejects
UINT
Optional
Set
ConnTimeouts
UINT
Optional
Get
NumConnEntries
UINT
10
Optional
Get
ConnOpenBits
0 No Connection.
1 Connection Established.
Query for more information.
11
Optional
Get
CpuUtilization
UINT
0 0% Utilization.
1000 100% Utilization.
Semantics of Values
5119
Number
Need in
Implementation
Access
Rule
Name
Type
Description of Attribute
Semantics of Values
12
Optional
Get
MaxBuffSize
UDINT
Size is in Bytes
13
Optional
Get
BufSize
Remaining
UDINT
Size is in Bytes
Note: Set implies that the attribute is both Gettable and Settable.
Get implies that the attribute is only Gettable
The instance attributes which are settable allow the attribute value to be cleared.
Common Services
Service
Code
ode
Need in
Implementation
Class
Service
ervice Name
ame
Description of Service
ervice
Instance
03hex
Optional
Optional
Get_Attributes_List
01hex
Optional
Optional
Get_Attributes_All
0Ehex
Optional
Optional
Get_Attributes_Single
04hex
n/a
Optional
Set_Attributes_List
02hex
n/a
Optional
Set_Attributes_All
10hex
n/a
Optional
Set_Attributes_Single
5120
Class-specific Services
The Connection Manager Object provides the class specific services
contained in the following table.
Table 51.I
Class-specific Services provided by the Connection
Manager Object
Need in
Implementation
Name
ervice
Service
Code
ode
Description of
Service
ervice
Class
Instance
Open
4Bhex
n/a
Obsolete
Fwd_Open
4Chex
n/a
Obsolete
Close
4Dhex
n/a
Required
Fwd_Close
4Ehex
n/a
Required
Find
4Fhex
n/a
Optional
Proxy_Open
50hex
n/a
Obsolete
Proxy_Close
51hex
n/a
Optional
Unconnected_ Send
52hex
n/a
Optional
Unconnected Send
Service
Ni_Open
53hex
n/a
Required
Open a connection
Ni_Fwd_Open
54hex
n/a
Required
Open a connection
Ni_Proxy_Open
55hex
n/a
Optional
Get_Connection_Data
56hex
n/a
Optional
Search_Connection_Data
57hex
n/a
Optional
Close a connection
PCCC Object
Table 51.J
Class Attributes for the PCCC Object
Need in
Implementation
Access
Rule
Name
Data Type
Description of Attribute
Optional
Get
Revision
UINT
Optional
Spec
Max Instance
UDINT
Number
5121
Semantics of
Values
Table 51.K
Instance Attributes for the PCCC Object
Number
1
Need in
Implementation
Access
Rule
Name
Type
Description of Attribute
Semantics of Values
Required
Set
PLC2 files
UINT
Common Services
The PCCC Object provides the following Common Services:
Need in
Implementation
Class
Service
ervice Name
ame
Description of Service
ervice
Instance
03hex
Optional
Optional
Get_Attributes_List
01hex
Optional
Optional
Get_Attributes_All
04hex
Optional
Optional
Set_Attributes_List
02hex
Optional
Optional
Set_Attributes_All
Number
um er
Execute PCCC
Execute DH+
Description of Service
ervice
Parameter Names
ames
Required
Required
DH Header, PCCC_Command
Class
Instance
4Bhex
Optional
4Chex
Optional
PCCC Object
Service
Code
ode
5122
PCCC Object
Table 51.L
Parameters for the Execute PCCC Service request
Name
Type
Semantics of Values
Length
USINT
Length of requestor ID
Vendor
UINT
Serial
Number
UDINT
Other
Product
Specific
Product specific
CMD
USINT
Command byte
STS
USINT
TNSW
UINT
Transport word
FNC
USINT
PCCC_
params
ARRAY of
USINT
The following parameters are defined for the Execute PCCC Service
response.
5123
Table 51.M
Parameters for the Execute PCCC Service response
Name
Type
Semantics of Values
Length
USINT
Length of requestor ID
Vendor
UINT
Serial
Number
UDINT
Other
Product
Specific
CMD
USINT
Command byte
STS
USINT
Status byte
TNSW
UINT
Transport word
EXT_
STS
USINT
PCCC_
results
ARRAY of
USINT
The following parameters are defined for the Execute DH+ Service
request.
Name
Type
Semantics of Values
DLink
UINT
Destination Link ID
DSta
USINT
DUser
USINT
SLink
UINT
Source Link ID
SSta
USINT
SUser
USINT
CMD
USINT
Command byte
STS
USINT
TNSW
UINT
Transport word
FNC
USINT
PCCC_
params
ARRAY of
USINT
PCCC Object
Table 51.N
Parameters for the Execute DH+ Service request
5124
The following parameters are defined for the Execute DH+ Service
response.
Table 51.O
Parameters for the Execute DH+ Service response
Type
Semantics of Values
DLink
UINT
Destination Link ID
DSta
USINT
DUser
USINT
SLink
UINT
Source Link ID
SSta
USINT
SUser
USINT
CMD
USINT
Command byte
STS
USINT
Status byte
TNSW
UINT
Transport word
EXT_
STS
USINT
PCCC_
results
ARRAY of
USINT
PCCC Object
Name
Rack Object
5125
Dependencies
As proxies for RIO adapters there is a dependency on an existing
scan list in the RIO Host Object. Without the scan list all instances
remain in the Not Configured state.
Table 51.P
Class Attributes for the 1771 Discrete I/O Rack
Need in
Implementation
Access
Rules
Name
Data Type
Description of Attribute
Semantics of Values
Required
Get
Revision
UINT
Rev 2.0
Required
Spec
Max Instance
UINT
Rack Object
Number
5126
Table 51.Q
Instance Attributes for the 1771 Discrete I/O Rack
Need in
Implementation
Access
Rules
Name
Data Type
Description of Attribute
Required
Spec
Owner
UDINT
Required
Spec
Vendor ID
UINT
Vendor of owner
Optional
Get
number_slots
USINT
Optional
Get
state
BYTE
actual state
Optional
Get
Input_Mask
DWORD
Optional
Get
module_size
ARRAY of
UINT
Optional
Get
BT_Status
WORD
Optional
Get
Status_Word
WORD
Optional
Set
Messaging
Error
USINT
10
Optional
Set
Retry Counter
UINT
11
Optional
Get
Rack Input
State
USINT
12
Optional
Get
Rack Output
State
USINT
Rack Object
Number
Semantics of Values
4
5
5127
Bits for the State attribute indicate the actual state of the rack
0
unused
1
unused
2
processor restart lockout configuration:
0 = processor cannot restart the rack, human action required
1 = processor can restart
3
Communications fault action configuration:
0 = outputs hold last state
1 = outputs reset
4
I/O State:
0 = I/O are reset
1 = I/O are not reset
5, 6
Density:
bit 5=0, bit 6=0: Double slot addressing
bit 5=1, bit 6=0: Single slot addressing
bit 5=0, bit 6=1: Half slot addressing
bit 5=1, bit 6=1: <not allowed>
1 = Inputs are being produced
7
Bits for the BT_Status attribute indicates which slots have BTs
Bits for the Status Word attribute indicate the actual state of the rack
0..1
Adapter Size
2
In scan list
Exists (replied at least once)
3
4
Adapter Online (receiving valid replies)
5
Faulted (Adapter is faulted =1 , off line = 0 )
6
Node Adapter (when set, adapter is a node adapter)
7
Inhibit (when set, send no messages)
8
Output Enable (when clear, send CMD 1s)
9
Unsolicited BT (Unsolicited BT received = 1, No unsolicited BT requests = 0 )
10
Freshness (Input image data for this adapter 1 = fresh 0 = stale)
11
Known (internal RIO bookkeeping)
12..15
Reserved
Messaging error description for master slave protocol. See project specific literature for information regarding value meanings.
Product dependent. See version description for values.
Need in Implementation
Get_Attributes_All
required
Set_Single_Attribute
optional
required
optional
required
5128
Get_Attributes_All Response
In ascending order the attributes returned in the reply data of the
response are dependent upon which of the optional Instance
attributes are selected. See product design documents for specifics.
Class-specific Services
None
Number
Type
Description of Service
Inputs Packed
<structure>
Outputs
Packed
<structure>
Type
Description of Parameter
Semantics of Values
Number of slots
UINT
Rack Object
5129
Name
Type
Semantics of Values
Adapter_Status
DWORD
Input_Mask
DWORD
1 = input present in
logical slot
Data
ARRAY of
WORD
module data
Type
Description of Member
Semantics of Values
Command
UDINT
0 = program (disable)
not zero = run (enable)
Data
ARRAY of
DWORD
Module Data
Rack Object
Behavior Specifics
5130
Figure 51.5
Behavior
Rack Output (CP2)
NonExistent
Power up
Not Configured
Hard Reset
Processed Configuration:
Which is by reading
switches on 1771
backplane or as a proxy
rack for an RIO adapter
reading the scan list of the
RIO Scanner for location
and size.
Idle
/ Received Timeout
Processed App Close to CP2: Success
to CP2: Loss of communications. This will terminate all open connections to CP1. As a proxy rack for an RIO adapter it will cause the
RIO Scanner to stop scanning the adapter (INHIBIT).
Active Program
Communication Fault
This is the
only
event
that can reset
the rack when
the
PRL
switch is set to
true
Active Run
Rack Object
5131
Idle
Producing Inputs
Single Cast
Producing Inputs
Multicast
Rack Object
5132
ControlNet Object
Class Code: 65hex
Device
Object
Application Messaging
Objects
Message Router
Application Data
Objects
Class 3
Transport
UCMM
Class 1
Transports
ControlNet
Object
ControlNet
Driver
ControlNet
MAC
Physical
Layer
ControlNet
Table 51.R
Class Attributes for the ControlNet Object
Number
0x1
ControlNet Object
0x2
Need in
Implementation
Access
Rule
Name
ControlNet
Data Type
Description of
Attribute
Optional
Get
revision
UINT
Optional
Get
max instance
UDINT
Maximum instance
number
Semantics of
Values
2
5133
Number
0x80
Need in
Implementation
Access
Rule
Name
Type
Description of Attribute
Semantics of Values
Required
Set
pending_
config
STRUCT OF:
24 bytes
pending configuration
parameters
pending_ net_
config
STRUCT OF:
12 bytes
ControlNet pending
network
parameters
nut_time
UINT
Network
Update
Time
smax
USINT
range 1-99
umax
USINT
smax + 8
slot_ time
USINT
Slot Time
in micro secs
blank_ time
USINT
Blanking
Time
in bytes
gb_start
USINT
Guard Band
Start
gb_center
USINT
Guard Band
Center
redundancy
BYTE
Redundancy Control
sched_
max_frame
USINT
Scheduled
Maximum
Frame
in byte-pairs4
int_cnt mod
USINT
Interval
Count
Modulus
fixed: 255
gb_prestart
USINT
Guard Band
Prestart
pending_
sched_rate
STRUCT of:
4 bytes
macrocycle_
start
USINT
Macrocycle
start
macrocycle_
length
USINT
Macrocycle
length
macrocycle_
count
USINT
macrocycle_
multiplier
BYTE
TUI
STRUCT of
6 bytes
Keeper Table
Unique
Identifier
10
unique_id
UDINT
Keeper
Unique Identifier value
11
ControlNet Object
Table 51.S
Instance Attributes for the ControlNet Object
5134
Number
Need in
Implementation
Access
Rule
Name
Type
Description of Attribute
Semantics of Values
status_flag
BYTE[2]
TUI flag
12
state
UINT
13
0=Listen Only
1=On-Line
Required
Get
current_ config
STRUCT of
24 bytes
current
configuration
parameters
14
current_ net_
config
STRUCT OF:
12 bytes
15
current_
sched_rate
STRUCT of: 4
bytes
16
TUI
STRUCT of
6 bytes
Keeper table
unique
identifier
10
State
UINT
13
diagnostic_
counters
STRUCT of
42 bytes
Diagnostic
counters
17
buffer_errors
UINT
Buffer event
counter
18
error_log
BYTE[8]
Bad MAC
frame log
19
event_
counters
STRUCT of
31 bytes
Diagnostic
counters
20
pad byte
BYTE
pad byte
value ignored
station_
status
STRUCT of
6 bytes
Station
status
21
0x81
0x82
Required
Set
Get
ControlNet Object
0x83
Required
5135
Semantics
1
Bit 1
Bit 0
Meaning
reserved
ControlNet Object
Table 51.T
Redundancy Mode Control Bits
5136
5137
11
The ControlNet Object ignores the values for this field of the TUI
subattribute.
12
ControlNet Object
5138
Table 51.U
ControlNet Configuration Manager (CCM) Table Unique
Identifier (TUI) Status Flag Bits
Bit
Meaning
3 - 15
reserved
The behavior of the ControlNet Object depends on the values for this
field of the TUI sub-attribute (see Synchronization of Attributes
section).
13
ControlNet Object
5139
19
20
ControlNet Object
21
5140
Description
0,1,2
3,4,5
Active Channel - indicates which of two channels the receiver is listening to.
0 = Channel B
1 = Channel A
Common Services
The ControlNet Common Services section of this Product Developer
Guide describes the following common services.
These services must all operate with an internal time-out to prevent a
hardware error condition in the ASIC from indefinitely stalling
operations. The actual timeout values are device dependent.
The ControlNet Object requires the following Common Services:
Service
Code
ode
Need in
Implementation
Service
ervice Name
ame
Description of Service
ervice
Instance
10hex
Not
Required
Required
Set_Attributes_Single
05hex
Not
Required
Required
Reset
0Ehex
Not
Required
Required
Get_Attributes_Single
ControlNet Object
Class
5141
Service
Code
ode
Need in
Implementation
Service
ervice Name
ame
Description of Service
ervice
Class
Instance
01hex
Not
Required
Optional
Get_Attributes_All
02hex
Not
Required
Optional
Set_Attributes_All
03hex
Not
Required
Optional
Get_Attributes_List
04hex
Not
Required
Optional
Set_Attributes_List
Set_Attributes_Single Request
Use the set_attributes_single request to:
set the network and the node-specific configurations for a
ControlNet device.
bring the ControlNet Object out of Listen-Only mode (see
External Behavior section).
ControlNet Object
5142
Name
ControlNet
Data Type
Description of Attribute
pit_time
UINT
smax
USINT
umax
USINT
slot_time
USINT
blank_time
USINT
gb_start
USINT
gb_center
USINT
redundancy
BYTE
sched_max_frame
USINT
int_cnt_mod
USINT
gb_prestart
USINT
macrocycle_start
USINT
Macrocycle start
macrocycle_length
USINT
Macrocycle length
macrocycle_count
USINT
macrocycle_multiplier
BYTE
Macrocycle multiplier
unique_id
UDINT
status_flag
BYTE[2]
state
UINT
Note: That the ControlNet Object ignores any values for the state
field within the parameters of the set_attributes_single request.
Note: That the parameters of the set_attributes_single request do not
include values for the counters. Counters must only be set to zero
using the class specific Get_And_Clear service.
With the exception in Note 3 of External Behavior on page 5151
and in Synchronization of Attributes on page 5157, the
ControlNet Object does not perform attribute value checking during
any set operation.
Set_Attributes_All Request
ControlNet Object
5143
Get_Attributes_All Response
Name
ControlNet
Data Type
Description of Attribute
pit_time
UINT
smax
USINT
umax
USINT
slot_time
USINT
blank_time
USINT
gb_start
USINT
gb_center
USINT
redundancy
BYTE
sched_max_frame
USINT
int_cnt_mod
USINT
gb_prestart
USINT
macrocycle_start
USINT
Macrocycyle start
macrocycle_length
USINT
Macrocycle length
macrocycle_count
USINT
macrocycle_multiplier
BYTE
Macrocycle multiplier
unique_id
UDINT
status_flag
BYTE[2]
state
UINT
Object state
pit_time
UINT
smax
USINT
umax
USINT
slot_time
USINT
blank_time
USINT
gb_start
USINT
gb_center
USINT
ControlNet Object
5144
ControlNet Object
Name
ControlNet
Data Type
Description of Attribute
redundancy
BYTE
sched_max_frame
USINT
int_cnt_mod
USINT
gb_prestart
USINT
macrocycle_start
USINT
Macrocycle start
macrocycle_length
USINT
Macrocycle length
macrocycle_count
USINT
macrocycle_multiplier
BYTE
Macrocycle multiplier
unique_id
UDINT
status_flag
BYTE[2]
state
UINT
Object state
buffer_errors
UINT
error log
BYTE[8]
good_frame transmitted
BYTE
good_frame
transmitted
BYTE
good_frame transmitted
BYTE
good_frame received
BYTE
good_frame received
BYTE
good_frame received
BYTE
selected_channel_frame_
errors
USINT
channel_a_frame_errors
USINT
channel_b_frame_errors
USINT
aborted_frames_
transmitted
USINT
highwaters
USINT
pit_overload
USINT
PIT overloads
slot_overloads
USINT
Slot overloads
blockages
USINT
Number of blockages
non_concurrence
USINT
Non-concurrence events
aborted_frames_received
USINT
lonely_counter
USINT
duplicate_node
USINT
Name
ControlNet
Data Type
Description of Attribute
noise_hits
USINT
collisions
USINT
Collisions
moderator_mac_id
USINT
non_lowman moderators
USINT
mismatch
USINT
Rogue events
unheard_moderator
USINT
sm_cmds
USINT
spares
BYTE[4]
pre_reset_fault_reg
USINT
post_reset_fault_reg
USINT
pad byte
BYTE
smac_ver
USINT
ASIC version
dirty_bits
BYTE
toggle_bits
BYTE
host_bits
BYTE
hardware_config
BYTE
channel_state
BYTE
ControlNet Object
5145
5146
Reset
The Reset service causes the ControlNet Object to enter the
Listen-Only mode (see the External Behavior section below).
The Reset service has side effects on the ControlNet Object
attributes. After receiving a Reset request and before its transition to
the Listen-Only state, the ControlNet Object sets its
current_net_config attribute to a very loose set of values (see
Listen-Only Network Parameters section). This allows the ASIC to
receive packets regardless of what network configuration is actually
in use on the wire.
While in the On-Line state the ControlNet Object should respond
successfully to a Reset request before actually performing a reset
operation. In devices where a Reset cannot be performed
successfully because the Reset response takes too much time, the
Reset response need not be sent. The Reset response contains no
parameters.
Note that anyone can halt device communications by resetting the
ControlNet Object.
Number
um er
Need in Implementation
Class
lass
Instance
Description of Service
ervice
Parameter
75
Not
Required
Not Required
for Phase 1
T-minus
Get_And_Clear
76
Not
Required
Required
<none>
Check_For_Moderator
77
Not
Required
ControlNet Object
Sync
5147
Sync Service
This service causes the ControlNet Object to copy its pending_config
attribute values to its current_config attribute values. This service is
required for synchronizing node operation parameters in an orderly
fashion.
The class specific Sync request includes the parameter shown in the
table below.
Name
T-minus
Type
USINT
Description of Parameter
Semantics of
Values
Number of network
update times1
Semantics
1
Get_And_Clear Service
ControlNet Object
5148
Get_And_Clear Response
ControlNet Object
Name
ControlNet
Data Type
Description of Attribute
buffer_errors
UINT
error_log
BYTE[8]
good_frame transmitted
BYTE
good_frame transmitted
BYTE
good_frame transmitted
BYTE
good_frame received
BYTE
good_frame received
BYTE
good_frame received
BYTE
selected_channel_frame_
errors
USINT
channel_a_frame_errors
USINT
channel_b_frame_errors
USINT
aborted_frames_
transmitted
USINT
highwaters
USINT
pit_overload
USINT
PIT overloads
slot_overloads
USINT
Slot overloads
blockages
USINT
Number of blockages
non_concurrence
USINT
Non-concurrence events
aborted_frames_received
USINT
lonely_counter
USINT
duplicate_node
USINT
noise_hits
USINT
collisions
USINT
Collisions
moderator_mac_id
USINT
non_lowman moderators
USINT
mismatch
USINT
Rogue events
unheard_moderator
USINT
sm_cmds
USINT
spares
BYTE[4]
pre_reset_fault_reg
USINT
5149
Name
ControlNet
Data Type
Description of Attribute
post_reset_fault_reg
USINT
pad byte
BYTE
Check_For_Moderator Service
The ControlNet Object provides only a local interface to the class
specific Check_For_Moderator service. This service is not available
over the network.
This local service is used to detect 9 consecutive moderator packets,
each from the same Mac ID and with the same network parameters.
This service responds with a pointer to the Mac ID of the current
moderator and a pointer to the current network parameters and a
pointer to a moderator flag word. If no moderator exists, this service
responds with NULL pointer values.
The class specific Check_For_Moderator request includes the
parameters shown in the table below.
Type
Description of Parameter
Semantics of
Values
Mod_Mac_
Id
POINTER
Valid MAC ID or
NULL pointer 1
Network_
Parameters
POINTER
Valid network
parameters or
NULL pointer 1
Mod_flag
POINTER
ControlNet Object
Name
5150
Semantics
1
Null pointer values indicate that the ControlNet Object was unable
to detect 9 consecutive moderator packets, each from the same MAC
ID with the same values for the following network parameters:
pit_time
smax
umax
slot_time
blank_time
gb_start
gb_center
int_cnt_mod
gb_prestart
The ControlNet Object checks for NULL pointer addresses when this
service is invoked. Refer to the following Check_For_Moderator
flow chart.
ControlNet Object
If the ControlNet Object receives values for umax below the range of
its MAC ID, a Parameter Error event is flagged and the Listen-Only
state is entered under the control of the ControlNet Object.
5151
External Behavior
The ControlNet Object operational states are presented in the figure
below.
Powerup
Local Event
Indications:
Dup Node
and
Lonely
All
States
NonExistent
Powerup
Dup Node
Flash Red if Lonely, otherwise Flash
Green
Railroad
Red
Dup ListenOnly
ListenOnly
Flash
Green
Flash
Green
Set
Single
Flash
Green
Railroad
Red
Railroad
Red
Reset to the
ControlNet
Object
Set Single +
Parameter
Error
Parameter
Error
Local Event
Indications:
Rogue
Dup Node
Lonely,
Online,
Reset,
Online Change
Rogue by
Leaky Bucket
detection
Dup Node
Solid
Green
OnLine
Solid
Green
Sync
Solid
Green
Get_Single
Get_Attribute_...
Set_Attribute_...
Solid
Green
Get_And_Clear
ListenOnly
ControlNet Object
OnLine
Rogue or Dup
OffLine
ControlNet Object Operational States
5152
Table 51.W
External Behavior: ControlNet Object State Transitions
Event
State
Non
Existent
Powerdo
wn
NA
ListenOnly Goto
Non
Existent
Powerup
Reset
ControlNet
Object.
See Note 7
Set Single
to
ControlNet
Object.
See Note 7
Rogue
Goto
ListenOnly
(flashing red if
Lonely, flashing green
otherwise),
disable Rogue
and enable
Dup
NA
NA
NA
NA
NA
NA
NA
NA
No
Action
See
Note 1
NA
Goto the
Dup
Listen
Only state;
the default
ASIC
action is to
display railroad red
LEDs
No Action;
the default
ASIC operation is to
display
flashing
RED LEDs
Goto
Non
Existent
NA
NA
NA
NA
Goto
Non
Existent
NA
After
Rogue
detection
by Leaky
Bucket
mechanism, Goto
ListenOnly
and force
railroad red
LEDs
Goto the
Dup
Listen
Only state;
the default
ASIC
action is to
display railroad red
LEDs
No Action;
the default
ASIC operation is to
display
flashing
RED LEDs
Goto
Non
Existent
Goto
Listen
Only
Goto
Non
Existent
NA
NA
NA
OnLine
Goto
Non
Existent
NA
Goto
See
ListenOnly Note 2
Reset to
Identity
Object.
Param.
Error
See Note 3
See Note 7
ControlNet Object
Set
pending
Attributes
Lonely
Go
OnLine
Dup
Listen
Only
Dup
5153
Notes
Note 1: Go OnLine with the green LED. Clear Rogue and Dup
interrupts and enable Rogue detection; do not clear the receive
interrupt; set Pending Attributes and perform Local Synch.
If there is a Parameter error, stay in ListenOnly, do not perform the
above actions and maintain the flashing green LEDs.
Note 2: Set pending Attributes (except when received Set_Single
packet TUI_flag bit 2 = 0 and ControlNet Object TUI_flag bit 2 = 1);
perform Local Synch if received Set_Single packet TUI_flag bit 2 =
1 and ControlNet Object TUI_flag bit 2 = 0. See the on-line set
attribute behavior diagram.
Note 3: Parameter errors consist of:
A node configured for a MAC ID greater than UMAX (the device
will not be able to send messages to itself or to any node above
UMAX).
The Redundancy network parameter set to an invalid value.
Note 4: Rogue error processing requires all nodes to perform
LeakyBucket Rogue detection. In this scheme, the first few
Rogue interrupts received do not immediately invoke Rogue error
handling; instead the following is done:
1. Increment a Rogue counter by 2 for every Rogue interrupt.
2. Decrement the Rogue counter by 1 every 100 milliseconds.
3. If the counter is ever greater or equal to 32, proceed with Rogue
error handling.
The Rogue interrupt is disabled while the Kept Node is in the
ListenOnly state. On transition to OnLine the Rogue interrupt
is cleared and enabled; if the Rogue condition still exists the node
will return to the ListenOnly state, disable the Rogue interrupt,
and override the default ASIC LED behavior to display Railroad
Red LEDs. The node waits until the Keeper gives it new network
and port parameters and brings it OnLine.
ControlNet Object
5154
ControlNet Object
If the ASIC goes DUP withe Railroad Red LEDs, the Health LED
should be flashing red, indicating a fix configuration condition.
5155
The ControlNet Object has four operational states. Each state allows
different services to be invoked and different attributes to be set.
1. NonExistent The ControlNet Object is in an unknown
condition. After powerup the ControlNet Object enters the
ListenOnly state.
2. ListenOnly The ControlNet Object waits for its network
configuration parameters, other than the MAC ID. These
parameters are obtained either directly from a local host (the host
has this information in persistent storage), or over the network
from a keeper (either Temporary or Real). The keeper sends this
information via the Set_Single service request to the ControlNet
Object. The Set_Single service transitions the ControlNet Object
into the OnLine state.
3. OnLine ControlNet network communication is enabled. The
host may initiate or respond to its own connect request messages.
The Reset service transitions the ControlNet Object into the
ListenOnly state. The ControlNet Object accepts all its services
while in this state.
ControlNet Object
5156
Value of Attribute
pit_time
UINT
smax
USINT
umax
USINT
slot_time
USINT
131 ms
blank_time
USINT
gb_start
USINT
49 (10 ms ticks)
gb_center
USINT
33 (10 ms ticks)
redundancy
BYTE
2 (enable channel A)
sched_max_frame
USINT
int_cnt_mod
USINT
255 (fixed)
gb_prestart
USINT
68 (10 ms ticks)
macrocycle_start
USINT
macrocycle_length
USINT
macrocycle_count
USINT
macrocycle_multiplier
BYTE
Unique_id
UDINT
status_flag
UINT
0 (invalid TUI)
state
UINT
0 (listen-only state)
ControlNet Object
Name
5157
Synchronization of Attributes
The ControlNet Object uses a two step, double-buffer type
arrangement for changing its configuration. These steps involve
copying its pending_config attribute values to its current_config
attribute values. This allows for the orderly synchronizing of node
operation parameters.
The current_config attribute contains the information for ControlNet
Object functions. The pending_config attribute is used to hold a
copy of the configuration information in preparation for applying it
to the current_config attribute.
Applying a configuration change requires use of the ControlNet
Object specific Sync service. This service causes the
pending_config attribute values to be copied to the current_config
attribute values.
Receiving multiple set_attributes_single requests without receiving a
corresponding Sync request causes the ControlNet Object to write
over its pending_config attribute values. However, there are two
exceptions.
While in the Listen-Only state, after receiving a
Set_Attributes_Single request, the ControlNet Object sets its
pending_config attribute, performs a local Sync and goes On-Line.
While in the On-Line state, the ControlNet Object exhibits specific
behavior regarding its settable attribute. After receiving a
Set_Attributes_Single request while in the On-Line state, the
ControlNet Object does one of the following:
sets its pending_config attribute
sets its pending_config attribute and performs a local Sync
ignores the request
ControlNet Object
5158
Table 51.X
On-Line Set Attribute Behavior
Event
State
Set Pending
Attribute
&
Local Sync
Node is OnLine
and Bit 2 of the
Current ControlNet Object TUI
status_flag = 0
Set Pending
Attribute
Node is OnLine
and Bit 2 of the
Current ControlNet Object TUI
status_flag = 1
Ignore Entire
Set Request
Set Pending
Attribute
Set Pending
Attribute, Local Sync and go
OnLine
Set Pending
Attribute, Local Sync and go
OnLine
Node is ListenOnly
with Loose default
parameters.
(status_flag = 0 or 1)
Note: The TUI field of the pending_config attribute takes effect and
becomes the current_config TUI field immediately after setting the
pending_attribute. The current ControlNet Object state of the TUI
field should be checked before the pending attribute is set.
ControlNet Object
This behavior does not check the valid bit (Bit 0) of TUI status flag.
This behavior assumes that the value of an invalid TUI is all zeroes.
5159
Event Indications
The ControlNet Object provides a local interface for the following
event notifications as defined by the error processing conditions in
the ASIC Reference Manual.
These indications are available in the Listen-Only and the On-Line
states:
Duplicate MAC ID
Lonely
These indications are available only in the On-Line states:
Duplicate MAC ID
Lonely
Rogue Node (Network Configuration Mismatch)
Reset
On Line Change (Sync)
Off Line
The ControlNet Object also provides a local indication when it
transitions from the Listen-Only state to the On-Line state.
All of these event notifications are implementation dependent.
ControlNet Object
5160
Figure 51.7
Check_For_Moderator
Check_for_Moderator
This routine attempts to receive 9 consecutive
Moderator Packets.
Check_for_Moderator
Moderator_received
Call Moderator_received
Increment mod_received
mod_received >= 9
or current_time
start_time > 2 ?
Set mod_received to 1
Disable reception
of Moderator.
Call Moderator_received
mod_received >= 9?
Y
Get Moderator
Source
ControlNet Object
Return mod_received
5161
And:
Then:
ControlNet Object
If:
5162
ControlNet Object
Notes:
Appendix
Page
Change History
511
511
513
518
Change History
512
Table 51.Y
Steps for creating or modifying an object definition
Step
Who
What
When
Product Designer
Architecture team
Validates need
Product Designer
and Architecture
team, jointly
Proposes definition,
identify review team
Review team
Reviews definition
Following product
definition phase
Product/Project team
Implements definition
During product
implementation
Product/Project team
Tests implementation
Architecture team
Releases Specification
with an implementation
513
of a new feature
an existing feature is now visible to the communication
system
As soon as the product designer recognizes that this need is
beyond the currently defined objects, he submits the need to the
architecture team.
2. Validate Need
The architecture team reviews the request, looking for
opportunities to reuse objects already in the object library.
The architecture team uses existing objects by:
514
4. Review Definition
The review team reviews the definition, looking for areas to
improve interoperability, reusability and verifiability. The review
team uses these three criteria to evaluate proposals for new and
modified objects. Also refer to, Guidelines for creating or
modifying object specification.
515
516
517
518
Defining ControlNet
Common Services
519
Version Conflict
Server Processing of
Request
Get_Attributes_All
Set_Attributes_All
Get_Attributes_List
Set_Attributes_List
Get_Attribute
Get_Attribute_More
5110
Service
Set_Attribute
Set_Attribute_More
Set_Attribute_More_Continued
Set_Attribute_More_Complete
Version Conflict
Server Processing of
Request
Access of attribute 0
generates more data in
re pon e than expected
response
by client version of object
(client is older than server)
Access of attribute 0
generates less data in
response than expected
by client version
er ion of object
(client is newer than
server)
Access of attribute 0
generates more data in
request than expected by
server
er er version
er ion of object
(server is older than client)
Access of attribute 0
generates less data in
request than expected by
server
er er version
er ion of object
(server is newer than
client)
Appendix
This appendix explains both transport and application connections.
Just as network connections provide the basis of transport
connections, transport connections are the basis of application
connections. Once the network layer has formed the connections of
producers to consumers, the next layer is to connect the transports to
the producers and consumers.
This appendix contains these sections:
Section
Transport Connections
Page
512
513
519
Transport Classes
5113
Transport Class 1
5113
Transport Class 3
5121
5133
5148
5148
Application Connections
5154
Polling
NO TAG
512
Transport Connections
Input
Upload
Upload
Download
Scanner
Application
Connection
Manager
Message
Router
Data Buffer
Transport
Transport Services
UCMM
Network
Network Connections
Link/Physical
ICN
ICP
IDN
Client
Transport
Send
Link
Producer
TPDU Packet
Link
Consumer
Trigger
Application
A
Transport
Header
TPDU Packet
TPDU Buffer
TPDU Packet
Server
Transport
Data Arrived
Transport
Header
TPDU Buffer
Data
Packet
Arrived
Data
Application
B
513
Components Of Transport
Connections
A transport connection includes the transport instance(s), the clientand server-side T-PDU buffer(s), and the network connection(s)
involved. The network connection, in turn, includes the link
producer(s) and link consumer(s). The originating application is
responsible for creating all of the above components, and for
creating bindings between those components that result in the desired
transport connection being created.
Network Connections
A logical binding between a producer and consumer forms a network
connection. This connection is established by the connection
manager. The connection manager defines the fixed path that the
message will take. When a producer wants to send a message, it will
provide just the connection ID. The connection ID will imply the
path that the connection manager specified. Because of this implied
route, no addressing or routing information other than the connection
ID is used at run time.
The connection ensures data integrity from the producer to the
consumer. While data integrity is ensured between producers and
consumers, whether it is maintained at the end nodes is the
responsibility of the module developer. This aspect of behavior is
beyond the definition of producers and consumers. It is dependent
on the implementation. Only those aspect of behavior that deal with
interoperability are described in this section.
514
Link Producer
The link producer is responsible for fetching data from the data
buffer and producing it on the data link after the send event has been
received. Data buffer management schemes such as overwrite,
double buffered, triple buffered are not excluded, but since they are
implementation specific, they are not specified here.
Data Flow Diagram (DFD)
Note that the link producer reads the TPDU packet from the
TPDU buffer and transmits it unchanged. While the TPDU buffer
is shown as a single buffer in the DFD, it does not imply that the
transport header and the data are stored in consecutive locations.
There are no restrictions on actual implementations. An
implementation that stored the transport header and data in
nonconsecutive locations is permitted as long as the link producer
can find all parts of the TPDU packet.
Figure 51.10
Data Flow Diagram for a Link Producer
Client
Transport
Trigger
Link
Producer
Send
Transport
Header
Server
Transport
Link
Consumer
Packet
Arrived
TPDU Packet
Application
Data
TPDU Packet
TPDU Buffer
TPDU Packet
Data Arrived
Transport
Header
Application
TPDU Buffer
Data
515
Create
Running
Delete
1
Send/
Produce TPDU
Nonexistent
Running
Create
Transition to Running
Error
Delete
Error
Transition to Nonexistent
Send
Error
1) Produce TPDU
Event
Services
Link Consumer
The link consumer is responsible for receiving TPDU packets,
storing them in the TPDU buffer and notifying the server transport
class that a packet has arrived. Data buffer management schemes
such as overwrite, double buffered, triple buffered are not excluded,
but since they are implementation specific, they are not specified
here.
516
Trigger
Link
Producer
Send
Transport
Header
Application
Data
TPDU Packet
Server
Transport
Link
Consumer
Packet
Arrived
TPDU Packet
TPDU Buffer
TPDU Packet
Data Arrived
Transport
Header
Application
TPDU Buffer
Data
Create
Receive TPDU/
Store TPDU
Packet Arrived
Running
Delete
Nonexistent
Running
Create
Transition to Running
Error
Delete
Error
Transition to Nonexistent
Receive TPDU
Error
Store TPDU
Packet Arrived
Services
517
Attributes
Triggers
A trigger will cause data to be sent. This trigger can be anything that
makes sense from an application point of view, such as a clock on a
module, a network trigger, a scheduler, an asynchronous event, or a
timer.
Figure 51.11
Triggers
Clock
Network trigger
Trigger
Client
Transport
Instance
Scheduler
Asynchronous event
Timer
Important:
TPDU Buffer
The TPDU buffer contains a TPDU packet. The TPDU packet
consists of a transport header and data. Applications will write data
to and read data from the TPDU buffers directly. Instances of
transports will write and read the transport header in the TPDU
buffer while consumers will write data to the TPDU buffer and
producers will read data from the TPDU buffer. The TPDU
buffers and buffer management are not part of the ControlNet
communication services.
518
Figure 51.12
TPDU Buffer
Client
Transport
Trigger
Link
Producer
Server
Transport
Link
Consumer
Packet
Arrived
Send
Transport
Header
TPDU Packet
Application
Data
TPDU Packet
TPDU Packet
TPDU Buffer
Data Arrived
Transport
Application
Header
TPDU Buffer
Data
Transport Header
The transport header is 16 bits. In transport classes 13, the transport
header is a 16bit sequence count, class 0 has a dont care in this
field. The transport header is written to the TPDU buffer by the
transport and is read by the transport from the packet coming from
the consumer. The sequence count for classes 1-3 is 16 bits for two
reasons:
11 bits of sequence count would allow production rates between 1
msec and 2 seconds without aliases, or a 2000 to 1 difference in
rate. 16 bits allows a 65000 to 1 difference in rate (.1 msec to 6.5
sec).
ControlNet is word aligned. ICP is long word aligned. A
sequence count less than 16 bits would provide very little saving
in cost or improvement in performance.
519
Notification
Transport classes can signal the application through events. The valid
events are listed in Table NO TAG.
Table 51.AB
Notification
Client
E ent
Event
Class 1
Server
Class 1
Class 3
Data Arrived
Class 3
Duplicate Arrived
Acknowledgment
Verification
"
Creating Transport
Connections
After the application has bound the producer to the consumer at the
network layer of the ControlNet communication model, the
application creates the transport connection by binding the producer,
consumer, and T-PDU buffer(s) to the transport instances at the
transport layer. An application can support as many transport
connections as resources RAM, ROM, CPU, EEPROM, etc.
permit.
The simplest transport functions use a single network connection,
which can be either point-to-point or multicast; the more complex
transport functions also use one or more point-to-point return
network connections. The transport functions correspond to the
transport classes defined for ControlNet. Each transport class
provides a specified level of transport services.
5110
Client Application
Client
Transport
Producer
Consumer
Server
Transport
Server
Application
5111
Producer
Client
Application
Consumer
Client
Transport
Server
Transport
Consumer
NOTE:
Server
Application
Producer
Client
Application
NOTE:
Client
Transport
Producer
Consumer A
Server
Transport
A
Server
Application
A
Consumer B
Server
Transport
B
Server
Application
B
5112
Node #2
Producer
A
Client
Application
Consumer
A
Client
Transport
Server
Transport
A
Consumer
B
Server
Application
Producer
B
Consumer
D
Node #3
Consumer
C
NOTE:
Server
Transport
C
Producer
D
Server
Application
Transport Classes
5113
Class Name
Duplicate Detection
Verified
Transport Class 1
(Duplicate Detection)
Write
Client
Transport
Class 1
Trigger
Send
Transport
Header
Application
Link
Producer
T-PDU
Packet
T-PDU
Packet
Link
Consumer
T-PDU
Packet
TPDU Buffer
Data
Packet
Arrived
Transport
Header
Server
Transport
Class 1
Dupl.
Arrived
Data
Arrived
Application
TPDU Buffer
Data
NOTE:
The T-PDU packet comprises the transport
header from the client transport and data
from the application.
5114
The figure below shows the sequence in which actions take place
when transferring data using client transport class 1 and server
transport class 1. Note that the sequence count is incremented with
every write. Also note that in the case where the packet is lost on a
new data sample, and the packet is later triggered and sent. This data
received by the client is treated as new data. This is because this is
the first time the server has received this sequence count. This
mechanism provides fault tolerance for those samples that change
infrequently.
Figure 51.18
Sequence Diagram of Data Transfer Using Client Transport
Class 1 and Server Transport Class 1
Application
Client
T1
Producer
Consumer
Server
T1
Application
Write to
Data Buffer
Trigger
Send
Update Data
Buffer
Data Arrived
Write to
Data Buffer
Write to
Data Buffer
Trigger
Send
Update Data
Buffer
Data Arrived
Trigger
Send
Update Data
Buffer*
Dup. Arrived
Write to
Data Buffer
Packet Lost
Trigger
Send
Seq. Cnt = 4, Data
Trigger
Send
Update Data
Buffer
Data Arrived
Implementors must decide whether to update the data buffer upon receipt of duplicate data packets,
since they can best assess the impact of the additional processing.
5115
Create/
Seq. Cnt = 0
Idle
Delete
Start
Stop
Running
Write/
Seq. Count =
Seq. Count + 1
Trigger/
Store Seq. Cnt. in TPDU Buffer
Send
5116
Nonexistent
Idle
Running
Create
1) Transition to Idle
2) Set seq. count = 0
Error
Error
Delete
Error
Start
Error
Transition to Running
Error
Stop
Error
No Action
Transition to Idle
Write
Error
No Action
Trigger
Error
No Action
Services
5117
Create
Delete
Idle
Stop
(From any state)
Start
Ready to Run
Reset
Packet Arrived
Data Arrived Notify = TRUE/
Notify: Data Arrived
Running
Packet Arrived
THeader =
Seq. Count
Dup. Arrived Notify = TRUE/
Notify: Dup. Arrived
Packet Arrived
Data Arrived Notify = FALSE
Packet Arrived
THeader <>
Seq. Count
Data Arrived Notify = TRUE/
Notify: Data Arrived
5118
Nonexistent
Idle
Ready to Run
Running
Create
Transition to
Idle
Error
Error
Error
Delete
Error
Transition to
Nonexistent
Error
Error
Start
Error
Transition to
Ready to Run
Error
Error
Stop
Error
No Action
Transition to Idle
Transition to Idle
Reset
Error
Error
No Action
Transition to Ready to
Run
Packet Arrived
Transport Header <> Seq. Count
Data Arrived Notify = TRUE
Duplicate Arrived Notify = TRUE
Error
No Action
Transition to Running
Notify: Data Arrived
Packet Arrived
Transport Header = Seq. Count
Data Arrived Notify = TRUE
Duplicate Arrived Notify = TRUE
Error
No Action
Transition to Running
Notify: Data Arrived
Packet Arrived
Transport Header <> Seq. Count
Data Arrived Notify = TRUE
Duplicate Arrived Notify = FALSE
Error
No Action
Transition to Running
Notify: Data Arrived
Packet Arrived
Transport Header = Seq. Count
Data Arrived Notify = TRUE
Duplicate Arrived Notify = FALSE
Error
No Action
Transition to Running
Notify: Data Arrived
No Action
Packet Arrived
Transport Header <> Seq. Count
Data Arrived Notify = FALSE
Duplicate Arrived Notify = TRUE
Error
No Action
Transition to Running
No Action
Packet Arrived
Transport Header = Seq. Count
Data Arrived Notify = FALSE
Duplicate Arrived Notify = TRUE
Error
No Action
Transition to Running
Packet Arrived
Transport Header <> Seq. Count
Data Arrived Notify = FALSE
Duplicate Arrived Notify = FALSE
Error
No Action
Transition to Running
No Action
Packet Arrived
Transport Header = Seq. Count
Data Arrived Notify = FALSE
Duplicate Arrived Notify = FALSE
Error
No Action
Transition to Running
No Action
Services
5119
Attributes
5120
Table 51.AD
How Products Use Transport Services
Connection Type
Transport
ransport
Class
Product Use
se
Client>Server
Pt-Pt/Multicast
Server>Client
Pt-Pt/Multicast
1
3
3
Multicast
Multicast
Multicast
None
Pt-Pt
Pt-Pt
Scheduled
High
High
Fixed
Fixed
Fixed
No
No
No
1
3
Pt-Pt
Pt-Pt
None
Pt-Pt
Scheduled
High
Fixed
Fixed
No
No
Pt-Pt
None
Scheduled
Fixed
No
Pt-Pt
None
Scheduled
Fixed
No
Pt-Pt
Pt-Pt
High
Variable
No
Pt-Pt
Pt-Pt
High
Variable
No
1
2
3
1
2
3
Multicast
Multicast
Multicast
Multicast
Multicast
Multicast
None
Pt-Pt
Pt-Pt
None
Pt-Pt
Pt-Pt
Low
Low
Low
Low
Low
Low
Fixed
Fixed
Fixed
Fixed
Fixed
Fixed
No
No
No
No
No
No
Master/Slave (DeviceNet)
2d, 3d3
Multicast
Pt-Pt
High
Fixed
No
Diagnostic Events
Multicast
None
Scheduled
Fixed
No
Event
Acknowledgement
(Message)
Pt-Pt
Pt-Pt
Low
Variable
Yes
Messages
Pt-Pt
Pt-Pt
Low
Variable
Yes
Upload/Download
Pt-Pt
Pt-Pt
Low
Variable
Yes
Connection
Establishment
UCMM4
Pt-Pt
Pt-Pt
Low,
High
Variable
No
Inputs
Sampled
Change of State
Processor Input
Interrupt (PII)
Outputs
Standard
Time-Coordinated
Controller to Operator
Interface1
Inputs
Outputs
Priority
Variable/
Fixed Size
Retry
Timer
Controller to Controller2
Inputs
Outputs
Parameters for controller to operator interface inputs and outputs are not defined as of 20 September 1993. This list is a
sample of possible uses only.
Parameters for controller-to-controller inputs and outputs are not defined as of 20 September 1993.
Transport classes 2d and 3d are DeviceNet implementations of transport classes 2 and 3, respectively.
Transport class Unconnected Message Manager (UCMM) is limited to a single link; it is not a general-purpose transport
service. There can be only one UCMM transport instance per port.
Transport Class 3
(Verified)
5121
Transport class 3 starts with the behavior in class 1 and adds a return
connection that verifies that the application has received the packet.
The sequence count that is returned with the verify is the same as the
sequence count sent with the data. This return connection is used to
identify the verification message.
This transport class allows the application to be notified that the
server application has responded to the transmitted packet. This
verification tells the client application not only that the data arrived
but that the server application has read the buffer and that a new
sample can be sent without overwriting the buffer.
The main advantage of this class over class 2 (Acknowledgement) is
that verification conveys an application response. The disadvantage
is that the delay in receiving the verification can be very difficult to
predict.
Transport class 3 uses two connections: the originator-to-target
connection, which can be either point-to-point or multicast; and the
return connection, which must be point-to-point. A multicast
connection using transport class 3 must have a point-to-point return
connection corresponding to each client-to-server connection. The
verification notifies the client application that the server application
has received and read the transmitted data. If a server application
does not verify receipt of the packet, the client application
retransmits the most recently sent packet; if the client-to-server
connection is a multicast, the data is retransmitted over all of the
network connections of the multicast.
The server application initiates and sends the verification after the
consuming node of the network connection has written the packet to
the T-PDU buffer, after the transport has read the packets transport
header, and after the application has read the packet. The servers
verification signals the client application that the server-side T-PDU
receive buffer is ready to accept the next data packet.
The figure below shows the actions which take place during a data
transfer using client transport class 3 and server transport class 3.
5122
Figure 51.19
Data Flow Diagram Using Client Transport Class 3 and
Server Transport Class 3
TPDU Buffer
TPDU Buffer
TPDU
Packet
Write
Verify
TPDU
Packet
Link
Consumer
Send
Trigger
Application
Link
Producer
Transport
Header
Data
TPDU
Packet
Client
Transport
Class 3
Data
Transport
Header
Packet
Arrived
Packet
Arrived
Transport
Header
Data
Arrived
Server
Transport
Class 3
Send
Link
Consumer
TPDU
Packet
TPDU
Packet
TPDU Buffer
Link
Producer
Data
Transport
Header
Dupl
Arrived
Verify
Application
Data
TPDU
Packet
TPDU Buffer
NOTES:
1 The client and server transports each use
two buffers: one for transmitting, and one
for receiving.
2 The server application can return data to
the client application using the connection
established for the verification.
Figure 51.20 shows the sequence of actions which take place during
data transfer using client transport class 3 and server transport class
3. In the example depicted, the verification is the only data
transmitted in the server-to-client direction. The unshaded areas in
the figure below indicate client-to-server data transmission, and the
shaded areas indicate server-to-client transmission.
5123
Figure 51.20
Sequence Diagram of Data Transfer Using Client Transport
Class 3 and Server Transport Class 3 without Returned Data
Application
Client
T3
Link
Producer
Link
Consumer
Server
T3
Application
Write to
Data Buffer
Trigger
Update Data
Buffer
Send
Data Arrived
Link
Consumer
Verify
Link
Producer
Seq. Cnt = 1
Verify
Write to
Data Buffer
Trigger
Send
Link
Producer
Link
Consumer
Update Data
Buffer
Data Arrived
Trigger
Update Data
Buffer*
Send
Dup. Arrived
Link
Consumer
Verify
Link
Producer
Seq. Cnt = 2
Verify
Write to
Data Buffer
Trigger
Send
Link
Producer
Link
Consumer
Update Data
Buffer
Data Arrived
Link
Consumer
Trigger
Send
Link
Producer
Verify Lost
Seq. Cnt = 3
Link
Producer
Link
Consumer
Verify
Update Data
Buffer*
Dup. Arrived
Link
Consumer
Verify
*
Seq. Cnt = 3
Link
Producer
Implementors must decide whether to update the data buffer upon receipt of duplicate data packets,
since they can best assess the impact of the additional processing.
5124
5125
Figure 51.21
Sequence Diagram of Data Transfer Using Client Transport
Class 3 and Server Transport Class 3 with Returned Data
Application
Client
T3
Link
Producer
Link
Consumer
Server
T3
Application
Write to
Data Buffer
Trigger
Update Data
Buffer
Send
Data Arrived
Verify
Link
Consumer
Link
Producer
Link
Producer
Link
Consumer
Write to
Data Buffer
(Data=xyz)
Verify
Write to
Data Buffer
Trigger
Send
Update Data
Buffer
Data Arrived
Trigger
Update Data
Buffer*
Send
Write to
Data Buffer
(Data=zzz)
Dup. Arrived
Verify
Link
Consumer
Link
Producer
Link
Producer
Link
Consumer
Verify
Write to
Data Buffer
Trigger
Send
Update Data
Buffer
Data Arrived
Link
Consumer
Trigger
Send
Link
Producer
Verify Lost
Seq. Cnt = 3
Data=xxx
Seq. Cnt = 3, Data
Write to
Data Buffer
(Data=xxx)
Link
Producer
Link
Consumer
Verify
Update Data
Buffer*
Dup. Arrived
Link
Consumer
Verify
*
Link
Producer
Implementors must decide whether to update the data buffer upon receipt of duplicate data packets,
since they can best assess the impact of the additional processing.
5126
5127
Create/
Set Seq. Cnt. = 0
Idle
Delete
Start
Stop
(From any state)
Running
Reset
Write/
Seq. Cnt. = Seq. Cnt. + 1
Trigger/
Store Seq. Cnt. in THeader
Clear Verify Register
Send
Wait for Verify
Write/
Seq. Cnt. = Seq. Cnt. + 1
Trigger/
Store Seq. Cnt. in THeader
Clear Verify register
Send
Packet Arrived
Rx. THeader =
Tx. THeader/
Update Verify Received
5128
Nonexistent
Idle
Running
Create
1) Seq. Cnt. = 0
2) Transition to Idle
Error
Error
Error
Delete
Error
Transition to
Nonexistent
Error
Error
Start
Error
Transition to
Running
Error
Error
Stop
Error
No Action
Transition to Idle
Transition to Idle
Reset
Error
Error
No Action
Transition to Running
Write
Error
No Action
Trigger
Error
No Action
Packet Arrived
Rx. T header =
Tx. THeader
Error
No Action
No Action
Error
No Action
Error
1) Notify: Verify
2) Transition to Running
Error
No Action
Error
1) Transition to Running
"
The STD and SEM for client class 3 are nearly identical.
Acknowledgement has been substituted for verification.
Services
Attributes
5129
"
Data from the application can be returned from the server to the
client along the verification connection.
5130
0
Delete
Idle
Stop
(From any state)
Start
Reset
Ready to Run
Packet Arrived
Data Arrived Notify =
TRUE/
Store Seq. Cnt. in TPDU
Notify: Data Arrived
Reset
Packet Arrived
Rx. THeader <>
Seq. Cnt
Data Arrived Notify =
TRUE/
Store Seq. Cnt. in TPDU
Notify: Data Arrived
Packet Arrived
Rx. THeader =
Seq. Cnt
Dup. Arrived Notify =
TRUE/
Notify: Dup. Arrived
Packet Arrived
Rx. THeader <>
Seq. Cnt
Data Arrived Notify =
FALSE/
Store Seq. Cnt. in TPDU
Packet Arrived
Rx. THeader <>
Seq. Cnt
Data Arrived Notify =
FALSE/
Store Seq. Cnt. in TPDU
Packet Arrived
Rx. THeader <>
Seq. Cnt
Data Arrived Notify =
TRUE/
Store Seq. Cnt. in TPDU
Notify: Data Arrived
Running
Packet Arrived
Rx. THeader =
Seq. Cnt
Dup. Arrived Notify =
TRUE/
Notify: Dup. Arrived
Send
Packet Arrived
Data Arrived Notify =
FALSE
Store Seq. Cnt. in TPDU
Verify/
Send
Packet Arrived
Rx. THeader =
Seq. Cnt
Dup. Arrived Notify =
FALSE
Send
5131
Non
existent
Idle
Ready to Run
Running
Create
Transition to
Idle
Error
Error
Error
Error
Delete
Error
Transition to
Nonexistent
Error
Error
Error
Start
Error
Transition to
Ready to Run
Error
Error
Error
Stop
Error
No Action
Transition to Idle
Transition to Idle
Transition to Idle
Reset
Error
Error
No Action
Transition to
Ready to Run
Transition to
Ready to Run
Packet Arrived
Rx. THeader <> Seq.
Count
Data Arrived Notify =
TRUE
Dup Arrived Notify =
TRUE
Error
No Action
Packet Arrived
Rx. THeader = Seq.
Count
Data Arrived Notify =
TRUE
Dup Arrived Notify =
TRUE
Error
No Action
Packet Arrived
Rx. THeader <> Seq.
Count
Data Arrived Notify =
TRUE
Dup Arrived Notify =
FALSE
Error
No Action
Packet Arrived
Rx. THeader = Seq.
Count
Data Arrived Notify =
TRUE
Dup Arrived Notify =
FALSE
Error
No Action
No Action
1) Send (Implies
Verify)
Packet Arrived
Rx. THeader <> Seq.
Count
Data Arrived Notify =
FALSE
Dup Arrived Notify =
TRUE
Error
No Action
Packet Arrived
Rx. THeader = Seq.
Count
Data Arrived Notify =
FALSE
Dup Arrived Notify =
TRUE
Error
No Action
Packet Arrived
Rx. THeader <> Seq.
Count
Data Arrived Notify =
FALSE
Dup Arrived Notify =
FALSE
Error
No Action
5132
Packet Arrived
Rx. THeader = Seq.
Count
Data Arrived Notify =
FALSE
Dup Arrived Notify =
FALSE
Error
No Action
No Action
1) Send (Implies
Verify)
Verify
Error
No Action
No Action
No Action
Services
Unconnected Message
Manager (Single-link
Transport Class)
5133
Download
Upload
Scanner
Application
Transport
Connection
Manager
Message Router
Data Buffer
Transport Services
UCMM
Network
Network Connections
Link/Physical
ControlNet
ICP
DeviceNet
5134
Buffer
Out
Buffer
Out
Buffer
Out
Buffer Out
Data
Buffer
Out
Buffer
Out
Buffer
Out
Buffer In
Data
Data
Data
Data Arrived(Transaction Record #)
Dup. Arrived(Transaction Record #)
Write(Transaction Record #)
Packet
Abort(Transaction Record #)
Application
Response(Transaction Record #)
Client
UCMM
Packet
Server
UCMM
Data
Buffer
InIn
Buffer
Buffer
In
Buffer In
Application
Timeout(Transaction Record #)
Timeout(Transaction Record #)
Data
Abort(Transaction Record #)
Response(Transaction Record #)
Data
Data
Buffer
Out
Buffer
Out
Buffer
Out
Buffer Out
5135
Figure 51.24
Sequence Diagram for a UCMM with One Outstanding
Message
Application
Client
UCMM
Server
UCMM
Application
Create(Tr #3)
Write(Tr #3)
Send
ACK
Response
(Tr #3)
Send
Respond(Tr #2)
ACK
Delete(Tr #3)
2
Create(Tr #3)
Write(Tr #3)
Send
Response
(Tr #3)
Send
Respond(Tr #2)
ACK
Write(Tr #3)
Send
Response
(Tr #3)
Send
Respond(Tr #2)
ACK
Delete(Tr #3)
3
Create(Tr #3)
Write(Tr #3)
Send
Send
Respond(Tr #2)
Response Lost
Seq. Cnt = 0, Rec# = 03, Response Data
Delete(Tr #3)
Resend
ACK
5136
Lost response: In this case the response is lost and the server issues
a retry.
Figure 51.25
Sequence Diagram for a UCMM with Multiple Outstanding
Messages
Application
Client
UCMM
Server
UCMM
Application
Create(Tr #3)
Write(Tr #3)
Send
Create(Tr #4)
Write(Tr #4)
Send
Response
(Tr #4)
Send
Respond(Tr #1)
Send
Respond(Tr #2)
ACK
Response
(Tr #3)
Delete(Tr #4)
ACK
Delete(Tr #3)
Timeout(Tr #2)
Timeout(Tr #1)
Create(Tr #3)
Write(Tr #3)
Write(Tr #3)
Send
Resend
ACK lost X
Write(Tr #3)
Resend
Timeout
(Tr #3)
5137
Transaction Sequence
Record
Count
Number
Retry
Count
Retry
Timer
Response
Timer
State
Request
5138
Inactive
Create/
Create Record
Running
Write/
Send Packet
Start Timers
Abort/
Stop Timers
Response Timeout/
Notify: Timeout
Response Arrives/
Notify: Response
Retry Timeout/
Resend Packet
5139
Inactive
Running
Create
1) Create record
2) Transition to
Running
Error
Error
Delete
Error
1) Delete record
2) Increment record Sequence #
3) Transition to Inactive
1) Delete record
2) Increment record Sequence #
3) Transition to Inactive
Write
Error
1)Send packet
2)Start Response Timer
3)Initialize Retry Count
4)Start Retry Timer
5)Transition to
Waiting for Response
Error
Abort
Error
No Action
1) Stop Timers
2) Increment Sequence #
3) Transition to Running
Retry Timeout
Request packet
available
Not Applicable
Not Applicable
Response
Timeout
Not Applicable
Not Applicable
1) Notify: TimeoutNo
Response
2) Increment Sequence #
3) Transition to Running
Response
Arrives
Not Applicable
No Action
1) Notify: Response
2) Send ACK_RESP, unless response indicates
no ACK_RESP desired
3) Increment Sequence #
4) Transition to Running
ACK_REQ Arrives,
sequence number
matches stored value
Not Applicable
No Action
ACK_REQ Arrives,
sequence number
not equal to stored
value
Not Applicable
No Action
No Action
5140
UCMM Services
State UINT
Destination [Link specific]
Transaction Record Number {10 bits}
SequenceCount {6 bits, used for duplicate detection. Is not
incremented on a retry.}
RetryCount [Link specific] (2 retries suggested)
Response Timer [8 bit floating point] 4 bit mantissa, 4 bit
exponent Range: 10ms 320 sec.
Transaction Sequence
Record
Count
Number
Retry
Count
Retry
Timer
Response
Timer
State
Request
5141
Response Timer
(From any state)
Packet Arrives
Exisiting Transaction ID
Exisiting Sequence #/
Notify Dup. Arrived
Send ACK_REQ
Packet Arrives
Exisiting Transaction ID
New Sequence #/
Update Record
Notify Data Arrived
Response Sent
Retry Timeout/
Resend Response,
if response buffer
not freed
Send Response/
Send Response
Start Retry Timer
Packet Arrives
Exisiting Transaction ID
Existing Sequence #/
Notify: Dup. Arrived
Resend Message
5142
Inactive
Running
Packet arrives
New Transaction ID
and source address
Not Applicable
Not Applicable
Packet arrives
Existing Transaction ID
and source address
New Sequence #
Not Applicable
No Action
1) Update Record
2) Notify: Data Arrived
3) Send ACK_REQ
3) Transition to
Waiting for App
Response
Packet arrives
Existing Transaction ID
Existing Sequence #
Not Applicable
Not Applicable
1) Notify: Timeout
2) Delete record
3) Transition to Inactive
1) Notify: Timeout
2) Delete record
3) Transition to Inactive
Abort
Error
1) Delete record
2) Transition to Inactive
1) Delete record
2) Transition to Inactive
Send Response
Error
1) Send Response
2) Start Retry Timer
2) Transition to
Response Sent
Error
Retry Timeout
Not Applicable
Not Applicable
ACK_RESP Attrives,
Error
No Action
1) Delete record
2) Transition to Inactive
Error
No Action
No Action
sequence number
matches stored value
ACK_RESP Attrives,
sequence number not
equal to stored value
The response time is the response time received in the message header.
5143
Send Response/
Send Response_No_ACK
Create/
Create New Record
Notify: Data Arrive
Packet Arrives
Exisiting Transaction ID
Exisiting Sequence #/
Notify Dup. Arrived
Inactive
Packet arrives
New Transaction ID
and source address
Not Applicable
Packet arrives
Existing Transaction ID
and source address
New Sequence #
Not Applicable
No Action
Packet arrives
Existing Transaction ID
Existing Sequence #
Not Applicable
Send Response
Error
1) Send
Response_No_ACK
2) Transition to Inactive
ACK_RESP Attrives
Error
No Action
5144
UCMM Services
State UINT
Destination [Link specific]
Transaction Record Number {10 bits}
SequenceCount {6 bits, used for duplicate detection. Is not
incremented on a retry.}
Response Time [8 bit floating point] 4 bit mantissa, 4 bit
exponent Range: 10ms 320 sec.
[In addition, any device which participates in making connections
must have a Message Router and connection manager. Most devices
will also support message connections to the Message Router. Each
device can support one or more of the following:
General Application Connections These include connections to
the application which generate realtime inputs or outputs,
diagnostics, or other information.
General Messaging Connections (Server) These are connections
to the Message Router application. With this connection and the
ControlNet messaging protocol, a client application can access
any application within the device.
General Messaging Connections (Client) The client messaging
connection enables direct access via a connection to the message
router in any other module.
Unconnected Messages Although unconnected messages are
routed to the message router, one of their major functions is to set
up connections.
Communication using unconnected messages has restrictions:
Message Size Limit The size of the message is limited to one
packet, and the maximum size of the packet is a function of the
type of module and the type of link. Not all devices can support
the maximum size (508-byte) packet.
Limited to the local link An unconnected message can only be
used on a local link. The message can not be routed from one
link to the next, like a connection. The unconnected message
manager service is a client/server function in which both the
client and server must be on the same link.
For more information on the UCMM, see Chapter 21, ControlNet
Messaging.
5145
Control, 8 Bits
UCMMProtocolHeader ::=
SEQUENCE
TransactionID, 16
Bits
{
Control ::= [0] IMPLICIT Ucontrol,
Response Time ::= [1] USINT,
TID ::= [2] IMPLICIT UTID,
}
Ucontrol ::=
BIT STRING
{
LSB(0),MSB(7)
ULinkCode(0-2),
reserved(3),
control code
reserved(4),
reserved(5),
reserved(6),
must be discarded.
This is to ensure backward
compatibility for future
additions.
{
LSB(0),MSB(7)
0x000 - <reserved>
0x001 - ACK_REQ
0x010 - Request
0x011 - Response
0x100 - Datagram
0x101 - ACK_RESP
0x110 - Response_No_ACK
0x111 - <reserved>
}
{
LSB(0), MSB(15)
RecordNumber(09),
5146
UCMM packets received with control codes or bits that are not
recognized by a client or server UCMM must be discarded.
Retry Timers
The retry timer allows a retry packet to be retransmitted at some
periodic rate until an acknowledgement or verification is received
from the server. The retry timer can be used with class 2 or 3 client
transports. It cannot be used with classes 0 or 1 because they do not
support a return connection from the server. The retry timer also
provides a timeout notification to the client application. This event
tells the client that the maximum number of retries has been reached.
All class 3 transports that are used for messaging (connected to a
message router) will use a retry timer.
Retry timers are configured through the connection manager.
Data Flow Diagram (DFD)
Timer
Trigger
Timeout
Trigger
Application
Ack
Verify
Ack
Trigger
Write
Verify
Client
(Class
2 or 3)
Transport
5147
Create
Delete
Reset
Verify
1
Ack
Counting
Max_retry/
Timeout
2
Timer tick/
Trigger_out
Retry Cnt. = Retry Cnt. + 1
Test for Max_retry
Nonexistent
Counting
Create
Error
Error
Delete
Error
Transition to Nonexistent
Transition to Nonexistent
Reset
Error
No Action
Trigger_in
Error
1) Retry_cnt = 0
2) Start_timer
3) Transition to Counting
No Action
Timer Tick
Error
No Action
1) Trigger_out
2) Retry_cnt = Retry_cnt + 1
3) Test for Max_retry
Max_retry
Error
No Action
1) Notify: Timeout
2) Transition to Wait for trigger
Ack
Error
No Action
Verify
Error
No Action
Services
Max_retry UINT
Tick_time [16 bit floating point]
State UINT
5148
Interoperability Of
Transport Classes
The following table shows which server transport classes will work
with different client transport classes. Transport classes 1 and 3
allow passive servers, while transport class 1 does not have any
active servers, since there is no reverse flow of data. Note that active
connections must be of the same transport type. The server cannot
influence the flow of data.
Table 51.AH
Transport Class Interoperability
Active Server Class
Client Class
Class Name
Notes
Duplicate detection
Verified
5149
In the first case two connections are established with the originator
as the producer using a class 1 transport. In the single link case the
single link producer is associated with both connections as shown by
the CSN A and B connected to both the transport and link producer.
In the case using a bridge again both CSN A and B are associated
with the same link producer and transport at the originator and again
at the bridge. The last case using a multiported bridge shows that a
single link consumer in the bridge will have to forward data to two
link producers, one for each port. In this case the CSN is associated
with a single link consumer but with different link producers in the
bridge.
Figure 51.26
Multiple Class 1 Transports with the Originator as the
Producer
Originator
Bridge
Target
CSN
A
Single Link
CSN
A
APP
CSN
B
LC
LC
CSN
B
CSN
A
LP
CSN
B
LC
LC
CSN
A
Bridge
APP
APP
APP
APP
CSN
A
CSN
B
CSN
B
CSN
A
LC
LP
APP
APP
CSN
B
LP
LC
Using a MultiPorted
T
CSN
A
Using a Bridge
APP
APP
CSN
B
LP
CSN
A
LP
CSN
B
LC
LP
LC
APP
T
Application
Transport
LP Link
Producer
CSN
A
Connection
LC Link
Consumer
CSN Connection
B
5150
Target
Bridge
Single Link
CSN
A
T
CSN
A
LC
LP
APP
APP
APP
APP
APP
CSN
B
CSN
B
T
LP
LC
Using a Bridge
CSN
A
T
CSN
A
CSN
A
LC
LP
LP
LC
APP
CSN
B
T
LC
APP
T
CSN
B
CSN
B
LP
Application
Transport
LP
LC
LP
Link
Producer
CSN
A
Connection
LC
Link
Consumer
CSN
B
Connection
5151
[If class 1 transports are needed in both directions, they can be set up
using a single open connection service. This is used for setting up
connections to output modules, since each output module uses a
point-to-point class 1 transport for the output data and another
multicast class 1 transport to echo the output data.]
Figure 51.28
Multiple Class 3 Transports at the Originator using
Point-to-Point Connections
Originator
Bridge
Target
Single Link
CSN
A
CSN
A
LC
LP
LP
LC
LC
LP
LP
LC
APP
APP
APP
T
CSN
B
CSN
B
Using a Bridge
CSN
A
CSN
A
CSN
A
LC
LP
LC
LP
LC
LP
LC
LC
LP
LC
LP
LP
LC
LP
LC
LP
APP
APP
APP
T
CSN
B
CSN
B
CSN
B
APP
LP
Application
Link
Producer
Transport
CSN
B Connection
LC Link
Consumer
CSN
A Connection
5152
Bridge
Target
Single Link
CSN
A
CSN
A
LC
APP
LP
PP
LP
LC
APP
Multicast
CSN
B
LC
T
LC
PP
LP
CSN
B
Using a Bridge
CSN
A
CSN
A
LC
APP
APP
PP
T
LP
CSN
A
LP
LC
LP
LC
LP
LC
Multicast
CSN
B
CSN
B
LC
T
LC
LP
PP
APP
LC
APP
LP
CSN
B
APP
Application
LP
Link
Producer
CSN
A
Connection
Transport
LC
Link
Consumer
CSN
B
Connection
5153
Figure 51.30
Multiple Class 3 Transports at the Originator using
Point-to-Point and Multicast Connection Types
Originator
Bridge
Target
Single Link
CSN
A
APP
CSN
A
LC
LP
PP
LC
LP
Multicast
LC
CSN
B
T
LC
APP
APP
LP
PP
CSN
B
Using a Bridge
CSN
A
CSN
A
LC
APP
CSN
A
LP
LC
LP
LC
LP
LC
PP
T
LP
Multicast
CSN
B
CSN
B
LC
PP
LP
APP
LC
T
LC
APP
LP
CSN
B
APP Application
T
Transport
Link Producer
CSN
A
Connection A
LC Link Consumer
CSN
B
Connection B
LP
5154
Server to Client
Point to Point
Point to Point
UCMM
Multicast
Priority
Sched
High
Low
Multicast
Sched
High
Low
Application Connections
5155
5156
Notes:
5157
5158
Allen-Bradley, a Rockwell Automation Business, has been helping its customers improve productivity and quality for more than 90 years. We design, manufacture and support a broad range
of automation products worldwide. They include logic processors, power and motion control
devices, operator interfaces, sensors and a variety of software. Rockwell is one of the worlds
leading technology companies.
Worldwide representation.
Argentina Australia Austria Bahrain Belgium Brazil Bulgaria Canada Chile China, PRC Colombia Costa Rica Croatia Cyprus Czech Republic Denmark
Ecuador Egypt El Salvador Finland France Germany Greece Guatemala Honduras Hong Kong Hungary Iceland India Indonesia Ireland Israel Italy
Jamaica Japan Jordan Korea Kuwait Lebanon Malaysia Mexico Netherlands New Zealand Norway Pakistan Peru Philippines Poland Portugal
Puerto Rico Qatar Romania RussiaCIS Saudi Arabia Singapore Slovakia Slovenia South Africa, Republic Spain Sweden Switzerland Taiwan Thailand
Turkey United Arab Emirates United Kingdom United States Uruguay Venezuela Yugoslavia
Allen-Bradley Headquarters, 1201 South Second Street, Milwaukee, WI 53204 USA, Tel: (1) 414 382-2000 Fax: (1) 414 382-4444
PN 95512817
5159
Allen-Bradley
ControlNet
Network
(Cat. No. 9220PDG51)
Product
Developers
Guide