Professional Documents
Culture Documents
Revision B
July 2001
All rights reserved. No part of this documentation shall be reproduced, stored in a
retrieval system, or transmitted by any means, electronic, mechanical, photocopying,
recording, or otherwise, without the prior written permission of the Wonderware
Corporation. No copyright or patent liability is assumed with respect to the use of the
information contained herein. Although every precaution has been taken in the
preparation of this documentation, the publisher and author assume no responsibility for
errors or omissions. Neither is any liability assumed for damages resulting from the use
of the information contained herein.
The information in this documentation is subject to change without notice and does not
represent a commitment on the part of Wonderware Corporation. The software described
in this documentation is furnished under a license or nondisclosure agreement. This
software may be used or copied only in accordance with the terms of these agreements.
Wonderware Allen-Bradley ControlLogix I/O Server User’s Guide
= 2001 Wonderware Corporation. All Rights Reserved.
100 Technology Drive
Irvine, CA 92618
U.S.A.
(949) 727-3200
http://www.wonderware.com
Trademarks
All terms mentioned in this book that are known to be trademarks or service marks have
been appropriately capitalized. Wonderware Corporation cannot attest to the accuracy
of this information. Use of a term in this book should not be regarded as affecting the
validity of any trademark or service mark.
Wonderware and InTouch are registered trademarks of Wonderware Corporation.
FactorySuite, Wonderware FactorySuite, WindowMaker, WindowViewer, SQL Access
Manager, Recipe Manager, SPCPro, DBDump, DBLoad, HDMerge, HistData,
Wonderware Logger, Alarm Logger, InControl, InTrack, InBatch, IndustrialSQL,
FactoryOffice, FactoryFocus, License Viewer, SuiteLink, SuiteVoyager and NetDDE are
trademarks of Wonderware Corporation.
Microsoft, Microsoft Excel, MS-DOS, Windows, Windows NT and Windows 2000 are
eigher registered trademarks or tradements of Microsoft Corporation.
Allen-Bradley, PLC, PLC-2, PLC-3, and PLC-5 are registered trademarks of Allen-Bradley
Company, Inc., A Rockwell International Company.
Data Highway, Data Highway Plus, DH, DH+, SLC 500, INTERCHANGE, and Pyramid
Integrator are trademarks of Allen-Bradley Company, Inc., A Rockwell International
Company.
Introduction ....................................................................................................................................1
Communication Protocols .....................................................................................................1
Accessing Remote Items via the I/O Server.......................................................................2
File Menu.........................................................................................................................................5
Configuring Security....................................................................................................................13
Security..................................................................................................................................13
Configuring Logger......................................................................................................................14
Set Logger Mode..................................................................................................................14
Data Menu.....................................................................................................................................15
ABCIP - Data Monitor.........................................................................................................15
Dump Active Data................................................................................................................17
Dump Topic Name Database..............................................................................................18
You can define multiple topic names for the same device
(PLC) to poll different points at different rates.
item name A specific data element within the specified topic. For example,
when using this server, an item can be a relay, timer, counter,
register, etc., in the PLC.
1. Install the Ethernet adapter and TCP/IP software following the instructions provided
by the manufacturer.
2. Install and configure the Rockwell Software RSLinx OEM package. This package is
provided by Rockwell Software, Inc.
5. Start the server. (Select the server icon from the server’s program group.)
6. On the Configure menu, click Topic Definition to configure topics for the PLCs.
The current configuration file and its full path are displayed in the main window title bar.
If any topics are active, they will appear in the client area of this window.View Menu
The View menu has two options that change the appearance of the main window, both
are enabled or disabled by selecting the respective menu item. A check next to the
option indicates the option is enabled.
The Toolbar option adds (when enabled) or removes the toolbar (small buttons) located
below the server menus.
The Status Bar option adds (when enabled) or removes the status indication bar
located at bottom of window.
The main window shown above has both options enabled. The main window shown
below has both options disabled.
File menu options deal with loading and saving the internal topic configuration
database.
Clears the internal topic database for a new topic configuration. This menu is disabled
when the server is active.
Replaces the internal topic database with the information contained in the user selected
topic configuration file. This file is automatically loaded the next time the server is
started. This menu is disabled when the server is active.
Saves the internal topic database under a new name. This command is only needed if
you want to save the configuration under a different name. If you edit the internal topic
database, the data is stored automatically in the current configuration file. This menu is
disabled when the server is active.
If any of the options appear grayed, then these options are not available with this
software version.
Use the Topic Definition option from the Configure menu to create new, modify, or
delete topic definitions. One or more topic definitions must exist for each PLC that the
server will communicate with. Each topic definition must contain a unique name for the
PLC associated with it. When this option is selected, the Topic Definition dialog box
will appear:
Once topics have been defined, their names will be listed in the Topics section of
this dialog box.
Click this button to close the dialog box and accept any new definitions, modifications or
deletions made.
To modify or view an existing topic definition, select its name in the list and click on this
button. The ABCIP - Topic Definition dialog box (described below) will appear
displaying the selected topic definition.
To delete an existing topic definition, select its name in the list and click on this button.
A message box will appear prompting you to confirm the deletion.
To add a new topic definition, click on this button. The ABCIP - Topic Definition dialog
box will appear:
If any of the options appear grayed, then these options may not be available with
this software version.
Enter a unique name for the PLC in this field, for example ABPLC.
When communicating with InTouch, this exact name is used as the topic name in
the Access Name definition.
This connect type is similar to the 1756-ENETเ1756-CNB type but allows the
user to manually construct the ControlNet path.
Select or type in the driver name configured in RSLinx for the selected Connect Type. If
RSLinx has not been loaded and the select button is pressed, the user will be prompted
to load RSLinx for browsing.
Select the station number of the ControlNet module or PLC on the local ControlNet
network.
Enter the ControlNet Path if “Remote ControlNet” is specified as the Connect Type,
otherwise this field is read only.
Check this box to enable client access to the update interval. If this box is checked, a
client can read and write the update interval on this topic through the predefined item
name UPDATEINTERVAL. If this box is not checked, the client can only read the
update interval.
The actual update interval for the slowest item on this topic can be read through
the predefined item name MAXINTERVAL. This gives you an indication of the
performance of your configuration during operation.
Enter the maximum number of consecutive discrete values to be read at one time. The
Discrete Read Block Size value can be any integer between 8 and 1920 that is a multiple
of 8, for example, 8, 24, 32, 80, etc. The maximum for a SLC-500 is 320.
Enter the maximum number of consecutive registers to be read at one time. The Register
Read Block Size value can be any integer between 1 and 120. The maximum for a SLC-
500 is 40.
Enter the frequency (in milliseconds) that the server will read (poll) the items/points
associated with this topic. (Enter a zero in this field when configuring a topic for
Unsolicited Messages, this in effect disables periodic polling.)
Enter the amount of time (in seconds) that the PLC will be given to reply to commands
from the server.
This timeout is sustained only when the PLC fails to respond. When the PLC is
responding normally, there is no penalty. The default value of 12 seconds should be
sufficient for most configurations.
Use the Server Settings option from the Configure menu to change the protocol timer,
network using Wonderware NetDDE, change the default configuration file path, or to
enable the server to start automatically as a Windows NT or Windows 2000 service.
When configuring the server on Windows NT or Windows 2000, the user must be
logged on with system administrator privileges. This will ensure that updates to the
system registry may be performed.
When the Server Settings option is selected, the Server Settings dialog box will appear:
Enter the frequency (in milliseconds) that the server is to check for data to process. This
should be approximately two to four times faster than the fastest rate desired to update
data from the equipment.
The default protocol timer tick value will vary between servers.
To create a new default configuration file, enter the complete path for the directory in
which the file is to be saved in this field. This new path will automatically be written to
the WIN.INI file and the server will use this path to load its configuration file the next
time it is started.
Enabling this option will cause the server to start as a Windows NT or Windows 2000
service.
Windows NT and Windows 2000 offers the capability of running applications even
when a user is not logged on to the system. This is valuable when systems must
operate in an unattended mode. Enabling this option and rebooting the system will
cause the server to run as a Windows NT or Windows 2000 service. However, to view
configuration information or to reconfigure the server, the user must log on to the
system. Any server related problems that may arise such as missing adapter cards,
licensing failures or device drivers not loading will not be visible to the user until a log
on is performed. Disabling this option and rebooting the system will cause the server to
run as a Windows NT or Windows 2000 application program once again.
You must restart the server for the changes to take effect.
Use the Security option from the configure menu to control server configuration
changes.
When the server is not active (no clients connected), all server configuration options are
available for modification.
The default setting for Allow configuration while topics are active is disabled. When
disabled, all topics are viewable (but locked against changes) via the ABCIP - Topic
Definition dialog box while the server is active (a client is connected).
Enable Allow configuration while topics are active to allow write access to some
parameters of the topic configuration while the server is active. This server supports
write access to the Update Interval, Reply Timeout, and Enable Access to Update Interval
parameters. You cannot add, delete, rename or change other parameters of a topic
configuration.
Click OK to save changes and close the dialog box.
Click Cancel to close the dialog box without saving changes.
Use the Logger option from the configure menu to set the working logger mode of the
server. The options controlled by this dialog box are NOT retained in the configuration
file.
Each time the server starts, the logger mode will default to Errors.
If any of the options appear grayed, then these options may not be available with
this software version.
Use the Monitor option from the data menu to display and record topic and item
statistics for a single, active topic. The information is updated as it changes. This is a
useful tool for tracking down errors, for determining performance and to validate item
values. When the Monitor option is selected, the ABCIP - Data Monitor window will
appear.
This drop down list box allows you to select any of the active topics. A preceding ‘*’
indicates that at least one item in this topic has an error while a preceding ‘#’ indicates
bad communication status.
This field displays the current configured update interval of the topic. This value
changes whenever the value is modified. The displayed value is the predefined
UPDATEINTERVAL item value.
This field displays the current update interval of the slowest item of the topic. This
value is measured for each poll cycle and each received cyclic service indication. If this
value drastically differs from the desired update interval the communication media is not
fast enough to satisfy the load.
This field displays the number of active items and the number of items with errors (in
parenthesis). If you check this box, only items with errors will be displayed.
The item list box displays the quality, time, value, and name of each active item.
Click on an item line to view additional item properties:
The server automatically generates the ASCII text file name and sets the files location
using the following pattern:
<current working directory>\datmonXX.txt
Where XX is a two digit number between 00 and 99. The server increments the number
each time a file is dumped.
Use the Dump Active Data option from the data menu to dump server, topic, and item
statistics for all topics with active items into an ASCII text file. The resulting file can be
loaded into Excel or any standard text editor. All columns are separated by tabs.
When the Dump Active Data option is selected, the Dump Active Data dialog box will
appear.
Use the DB Dump option from the data menu to dump the internal topic name database
into a CSV format file. Wonderware’s DBLoad utility can use the resulting file to
automatically generate InTouch Access Names.
Create the file by selecting a directory and filename using the standard dialog shown
below:
The Help menu contains three options that are used to access help for the server.
This option is used to display the table of contents for the Help file.
This option is used to access a list of basic instructions for using the Help file.
This option is used to access miscellaneous information regarding the server, such as
the software version, the copyright information, license information, etc.
Your FactorySuite system license information can be viewed through the license viewing
utility that is launched from the About dialog box.
$ For more information on the licensing viewing utility, see your online FactorySuite
System Administrator’s Guide .
Wonderware's servers are based on the concept of polling a hardware device for
information. This polling is driven by a need, which is expressed in the form of a
requests from one or more clients. Once a particular piece of information has been
requested by a client, the server formulates its own request and sends that request to
the hardware device. The server then waits for a response to its request. Once the
information has been received, the server passes that information back to the client, and
repeats the process until all clients have ceased requesting information.
The rate at which the server will poll a particular device for a specific piece of information
is defined in the topic definition, inside the server, using a parameter called the Update
Interval. When setting this parameter, there is always a trade-off between the update
speed of the topic and the resulting decrease in system responsiveness.
Since you more than likely want very fast response, the temptation is to set the Update
Interval to a value close to 0 milliseconds. However, if every point is polled at this rate,
the entire system will suffer due to slow response time. Therefore, you should
compromise, and set the Update Interval to a more reasonable value. You could also
create multiple topics for each device, setting the Update Interval to different values,
then assign different items to different topics depending on how quickly the values
change, and how quickly you want to see an update of those changes.
An item may be very important, but change very infrequently, e.g., alarm bits. You may
require very fast updates of alarms when they do change, but realistically you may only
see them change once a week, or once a day at best. Because you do not know when
this may happen, you are forced to set the Update Interval to some small value,
approaching 0 milliseconds. That is, until now!
In the world of PLCs and servers it is obvious, to even the most casual user, that a PLC
will know when a critical event has occurred before the server will have a chance to poll
for that data. Therefore, it would seem natural that if a critical event occurs, the PLC
should have the capability to inform the server immediately, without having to wait for
the server to poll it.
This is the role of an unsolicited message. Once a PLC has determined that a critical
condition exists, it can generate a "reply" message to a poll which never occurred. In
other words, it can answer the server's question before the server has a chance to ask it.
The following Allen-Bradley processors are capable of producing unsolicited messages
that the Wonderware I/O Servers can understand. Specifically, the PLC-5 and SLC-500.
This section explains how to set up the PLC to send unsolicited messages. To illustrate
the ladder logic required to perform this function, we will use the example below. This
was tested with a PLC 5/10 processor, connected to a Data Highway Plus with the 5/10
and a S-S Technologies 5136-SD card connected to it.
The text and illustrations below provide you with one example of how a
Wonderware Allen-Bradley I/O Server and the Allen-Bradley hardware need to be
configured to get unsolicited messages from the PLC to the server. This same concept,
changed only slightly, is compatible with any of the Wonderware Allen-Bradley I/O
Servers.
Inside Station 02 (the PLC 5/10) the following rungs were entered:
When viewing the MSG instruction (second line, last instruction in diagram above) with
the Allen-Bradley 6200 software, the MSG instruction parameters have the following
values:
Parameter Select
The memory address of the value that will be sent to the Wonderware I/O Server. This
address refers to the location inside the PLC. (For more information, see the
"Destination Data Table Address".)
Indicates how many elements will be moved per message, starting at the PLC Data Table
Address previously defined. An element's actual size depends on the type of data being
handled. For example, a single element of type N (Integer) is 16 bits (two bytes) long.
Whereas, a single element of type F (Floating Point) is 32 bits (two words) long.
Defines if the destination DH+ station (in this case, the server) is on the same DH+ as
this PLC. If the server is on the same DH+ as the PLC, then the addressing is Local,
otherwise, the message must be sent via a Bridge. If this is the case, then Remote
addressing would be selected.
These settings specify the type of Data Highway the Remote Link is. Typical settings
include DH, DH+, DHII, etc. This link must have a number associated with it, this
number is referred to as the Link ID, or the Link Number. Typical settings are 0, 1, 2 or 3.
The Remote Station is the station number on the Remote Link to which this message
will be sent.
Defines the Destination station's address on the DH+, in both Local and Remote
situations.
The address into which the value defined by the PLC Data Table Address will be placed.
In the case of unsolicited messages to the server, this is the address that has been
entered into the Item field of a particular Tagname inside InTouch. For example, you
may have a tag called: TankLevel with the item, N12:190. The item specified would be
the address used for this parameter. In most cases, the PLC Data Table Address and the
Destination Data Table Address do not need to be the same. To reduce confusion when
debugging the system, we recommend that they be identical.
This section briefly describes how to set up the server and InTouch to accept
unsolicited messages.
The following topic was defined in the server:
Topic Name: Unsolicited_PLC2
Card: SD:0
PLC Station Address: 02 (Octal)
Update Interval: 0
The following Access Name was defined in InTouch:
Access Name: Unsolicited_PLC2
Application/Server: SS5136SD
Topic: Unsolicited_PLC2
Wait For Change: Checked
Advise All Items: Checked
If Advise only active items is checked and the tag is displayed on the screen, it will
be advised. When this occurs, the server will store that tagname as an item that needs
to be polled regularly from the PLC. For example, if the update interval was set to five
minutes (configured in the topic definition), then every five minutes the server will send
out a request for the current value of N12:190 to the PLC. The PLC will respond,
returning the value inside N12:190, in our example above. This is a Normal Polling Cycle.
At the same time, the PLC is constantly monitoring the value of the TankLevel, stored in
register N12:190. If this value grows larger than 128, the PLC logic will initiate the MSG
instruction. The MSG instruction will take the value of N12:190 and write it to the server.
The server will see the incoming message and attempt to match the PLC station address
defined in the server. It will also try to match the Destination Data Table Address to one
that is currently being polled for that particular PLC address. If this matching procedure
succeeds, the value of that tag will be updated with the value sent from the PLC's MSG
instruction.
The Allen-Bradley 1785 PLC-5 processors have a separate CPU to handle Data Highway
Plus communications. This processor works independently of the program scan. This is
an advantage, since the program scan is not inhibited by lengthy Data Highway Plus
command queues. This means that the status bits and words associated with the MSG
instruction will be updated synchronously to the program scan. If an error bit is false
when the program begins to scan, half way through the rungs, the bit may go high.
Inside the Allen-Bradley PLC, it is important to properly handle error conditions with a
MSG instruction.
If a MSG instruction's .ER bit goes high, it is advisable to stop sending MSGs for a
period of 15 to 60 seconds. Then, send another MSG, waiting for a .DN bit before
attempting to resume normal communication. If this is not done, the MSG instruction
will default to a "slow mode" of one MSG every 15 seconds. If these MSGs continue to
be unacknowledged by the server, there is a chance the PLC will halt communication
with the server until the MSG instruction is reset. This is something that cannot be done
from the Wonderware I/O Server since the PLC may no longer be communicating with it.
1. In general, unsolicited messages should be used only on rare occasions, not as the
normal mode of data transmission.
2. A MSG instruction inside a PLC should never be placed in 'continuous' mode. This
will cause the MSG instruction to generate outgoing messages as quickly as
possible, continuously, regardless of the state of the instructions ahead of it.
Therefore, even if the Bit B10:0/14 is FALSE, if the .CO bit (Continuous Bit) is set in
the MSG instruction, the MSG instruction will continue to generate messages as
quickly as possible until either the processor has been placed into PROGRAM
mode, or the .CO bit is toggled off.
3. Read the Allen-Bradley manual, publication 6200-6.4.11, April 1992 for more
information about the MSG instruction inside the 1785 PLC-5’s. Other PLC’s
manuals also have specific information regarding generating a MSG instruction in
the Ladder Logic.
The PLC-2 was never designed to allow communication on the DH. It has a
communications module, the 1771-KA2, which allows the PLC-2 to sit on the DH.
The PLC-2 manual therefore has no mention of the messaging capabilities of the
PLC-2. The manual for the 1771-KA2 has all the information you’ll need to set up an
unsolicited message from the PLC-2.
The general format of item names for data from 1785 PLC-5 controllers matches the
naming convention used by the programming software. The format is shown below.
The parts of the name shown in square brackets ([]) are optional.
$
Purely optional.
X
Identifies the file type. The table below summarizes the valid file types, the default file
number for each type and the fields allowed (if any):
element
Element number within the file. For Input and Output files it must be between 0 and 777
octal. For all other file types, it must be between 0 and 999 decimal.
.field
Valid only for Counter, Timer, Control, ASCII String, PID, SFC Status, and Block Transfer
files. Refer to the previous table.
/bit
Valid for all file types except ASCII String and Floating Point. For Input and Output files
it must be between 0 and 17 octal. For all other file types it must be between 0 and 15
decimal.
O[n]:rg[/b] "n" represents the file number is optional and if specified, must be
zero.
"r" indicates the rack number (octal).
"g" indicates the I/O group (octal).
"b" specifies the bit (0 - 17 octal). "/b" may be omitted if
necessary to treat the I/O group as a numeric value.
Examples:
O0:0/0
$O:37/17
O:3 4BCD (for 16-bit 7-segment display)
I[n]:rg[/b] "n" represents the file number is optional and, if specified, must
be one.
"r" indicates the rack number (octal).
"g" indicates the I/O group (octal).
"b" specifies the bit (0 - 17 octal). "/b" may be omitted if
necessary to treat the I/O group as a numeric value.
Examples:
I1:0/0
I:37/17
I:3 4BCD (for 16-bit thumbwheel input)
S[n]:e[/b] "n" represents the file number is optional and, if specified, must
be two.
"e" indicates the element number in the file.
"b" is optional. If specified, indicates the bit (0-15 decimal).
Examples:
$S:18 low status bit)
B[n]:e/b
or
B[n]/m 2 may be between 0 and 15999.
Examples:
B3/15999 (same bit as B:999/15)
B:6/4 (same bit as B/100)
T[n]:e[.f][/b] "n" represents the file number and is optional. If not specified, it
is assumed to be four. If specified, the file number must be
between 3 and 999 decimal.
"e" specifies the element number (three words per element) within
the Timer file. It must be between 0 and 999 decimal.
"f" identifies one of the valid Timer fields. The valid fields for
Timer Files are listed in the table. If ".f" is omitted, it is assumed to
be the word containing the status bits.
"b" is optional and is normally not used. All of the fields of a
timer can be accessed by specifying the ".f" fields. However, it is
possible to use "/b" to single out a bit in the .PRE or .ACC fields
(which are words). For Timer files, the bit number must be
between 0 and 15 decimal.
Examples:
T4:0.ACC
T4:0.DN
T4:1.PRE
C[n]:e[.f][/b] "n" represents the file number and is optional. If not specified, it
is 0 and 15 decimal.
Examples:
C5:0.ACC
C5:3.OV
C5:1.PRE
R[n]:e[.f][/b] "n" represents the file number and is optional. If not specified, it
is assumed to be six. If specified, the file number must be between
3 and 999 decimal.
"e" specifies the element number (three words per element) within
the Control file. It must be between 3 and 999 decimal.
"f" identifies one of the valid Control fields. The valid fields for
Control files are listed in the table. If ".f" is omitted, it is assumed
to be the word containing the status bits.
"b" is optional and is normally not used. All of the fields of a
Control file can be accessed by specifying the ".f" fields.
However, it is possible to use "/b" to single out a bit in the .LEN
or .POS fields (which are words). If specified, it indicates the bit (0
- 15 decimal).
Examples:
R6:0.LEN
R6:3.EM
R6:1.POS
An:e[/b] "n" represents the file number (NOT optional) and must
be between 3 and 999 decimal.
"e" specifies the element number within the ASCII file. It
must be between 0 and 999 decimal. Each element in an
ASCII file contains two ASCII characters.
"b" is optional. If specified, indicates bit (0-15 decimal).
An:x-y "x" and " y" also specify element numbers. In this form,
the item is an ASCII string occupying element "x"
through element "y". Each element contains two ASCII
characters. The first character is the high order byte and
the second is the low order, etc.
Examples:
A20:3
A10:0/0
A9:0-19 (40-character ASCII string)
Dn:e[/b] "n" represents the file number (NOT optional) and must
be between 3 and 999 decimal.
"e" specifies the element number within the BCD file. It
must be between 0 and 999 decimal. Each element in a
BCD file contains a number between 0 and 9999.
"b" is optional. If specified, it indicates the bit (0 - 15
decimal).
Examples:
D20:3
D10:0/3
STn:e[.f]
"n" represents the file number (NOT optional) and must
be between 9 and 999 decimal.
"e" specifies the element number within the String file. It
must be between 0 and 999 decimal. Each element in a
String file contains an ASCII string with a maximum
length of 82 characters.
"f" identifies the following ASCII string field: .LEN. If
".f" is omitted, it is assumed to be the string.
Examples:
ST9:0
ST9:900
ST9:900.LEN
BTn:e[.f][/b]
"n" represents the file number (NOT optional) and must
be between 9 and 999 decimal.
"e" specifies the element number (three words per
element) within the Block Transfer file (0 to 999 decimal).
"f" identifies one of the valid Block Transfer fields. The
valid fields for Block Transfer items are listed in the table.
If ".f" is omitted, it is assumed to be the word containing
the status bits.
"b" is optional and is normally not used. All of the fields
of a Block Transfer can be accessed by specifying the
".f" fields. However, it is possible to use "/b" to single
out a bit in the .FILE or .ELEM fields (which are words).
For Block Transfer files, the bit number must be between
0 and 15 decimal.
Examples:
BT9:0.EN
BT9:3.RLEN
BT9:3.FILE
PDn:e[.f][/b]
"n" represents the file number (NOT optional) and must
be between 9 and 999 decimal.
"e" specifies the element number within the PID file. It
must be between 0 and 999 decimal.
"f" identifies one of the valid PID fields. The valid fields
for PID files are listed in the table. If PID field .ADDR is
needed, use .ADRE for element and .ADRF for file.
"b" is optional and is normally not used. All of the fields
of a PID can be accessed by specifying the ".f" fields. If
specified, it indicates the bit (0 - 15 decimal).
Examples:
PD9:2.SP
PD9:3.OLH
PD9:0.INI
SCn:e[.f][/b]
"n" represents the file number (NOT optional) and must
be between 5 and 999 decimal.
"e" specifies the element number within the SFC Status
file. It must be between 0 and 999 decimal.
"f" identifies one of the valid SFC fields. The valid fields
for SFC files are listed in the table.
"b" is optional and is normally not used. All of the fields
of a SFC can be accessed by specifying the ".f" fields.
For SFC Status items, the bit number must be between 0
and 15 decimal.
Examples:
SC9:0
SC9:0.PRE
SC9:0.SA
The general format of item names for data from SLC-500 controllers matches the naming
convention used by the programming software. The format is shown below. (The parts
of the name shown in square brackets ([]) are optional).
$
Purely optional.
X
Identifies the file type. The table below summarizes the valid file types, the default file
number for each type and the .fields allowed (if any):
file
File number must be 0-255 decimal. File 0 must be Output, file 1 must be Input, file 2 must
be Status.
element
Element number within the file. For Input and Output files it must be between 0and 30
decimal. All other file types, it must be between 0 and 255 decimal.
.field
Valid only for Counter, Timer and Control files, see table above.
/bit
Valid for all file types except ASCII String and Floating Point. Must be 0-15 decimal.
O[n]:e.s[/b] "n" represents the file number and is optional. If not
specified, it is assumed to be zero.
"e" indicates the element number in the file.
"s" indicates the sub-element number (0 - 255).
"b" specifies the bit (0 - 15 decimal.) "/b" may be omitted
if necessary to treat the I/O group as a numeric value.
Examples:
O0:0/0
$O:2/15
O:3 4BCD (for 16-bit 7-segment display)
The naming conventions used in the Allen-Bradley programming software are not
supported by the Wonderware โ Allen-Bradley ControlLogix I/O Server. The addressing
convention is similar to that of the PLC-5 family processors. To derive the correct
address for each I/O point, use the following.
Addressing of the I/O points begins by drawing a schematic of the system. The figure
below is a diagram of the SLC 5/02 system.
The far left unit is the power supply. From left to right, the modules are:
In the table above, the minimum amount of words which can be consumed by a
module is 1 (16-bits). This is due to the memory scheme of all Allen-Bradley processors.
In the I/O diagram below, the first input module's addressing should start with "I:0".
Previously noted, this module consumes one datatable word. Therefore, the addressing
of the next INPUT module encounter, moving from left to right, will begin with "I:1",
regardless of the module's physical location.
In the I/O diagram below, the first output card encountered is the OA16. Although it is
not in the first slot, its address will be "O:0" ('OHH, colon ZERO"). This module
consumes one datatable word. Therefore, the addressing of the next OUTPUT module;
moving from left to right, will begin with "O:1", regardless of the module's physical
location.
S[n]:e[/b] "n" represents the file number and is optional. If not
specified, it is assumed to be two.
"e" indicates the element number in the file
"b" is optional. If specified, it indicates the bit (0 - 15
decimal).
Examples:
S2:6 (major error fault)
S2:13 (math register)
S:1/5 (forces enabled)
B[n]:e/b
or
B[n]/m "n" represents the file number and is optional. If not
specified, it is assumed to be three. If specified, the file
number must be between 10 and 255 decimal.
"e" specifies the element (word) number within the
Binary file. It must be between 0 and 255 decimal.
"b" specifies the bit number within the word. In the first
form (where ":e" is present,) the bit number must be
between 0 and 15 decimal.
"m" also represents the bit number. However, in the
second form, no word number is specified and the bit
number may be between 0 and 4095.
Examples:
B3/4095 (same bit as B:255/15)
B:6/4 (same bit as B/100)
B3
T[n]:e[.f][/b] "n" represents the file number and is optional. If not
specified, it is assumed to be four. If specified, the file
number must be between 3 and 255 decimal.
"e" specifies the element number (three words per
element) within the Timer file. It must be between 0 and
255 decimal.
"f" identifies one of the valid Timer fields. The valid
fields for Timer Files are listed in the table. If "f" is
omitted, it is assumed to be the word containing the
status bits.
"b" is optional and is normally not used. All of the fields
of a timer can be accessed by specifying the ".f" fields.
However, it is possible to use "/b" to single out a bit in
the .PRE or .ACC fields (which are words).
Examples:
T4:0.ACC
T4:3.DN
T4:1.PRE
STn:e
"n" represents the file number (NOT optional).
"e" specifies the element number within the String file. It
must be between 0 and 255 decimal. Each element in a
String file contains an ASCII string with a maximum
length of 78 characters.
Examples:
ST9:0
ST9:900
All topics have predefined item/point names to monitor and control communication
properties.
The UPDATEINTERVAL item is used to access the currently set update interval. It is
the same value displayed in the ABCIP - Data Monitor window. It indicates the
currently set update interval in milliseconds. If the corresponding topic is configured to
"Enable access to update interval", a client can poke new values into this item. In any
case, the value can always be read through DDE or SuiteLink. The range of valid values
differs with respect to the topic configuration settings. The value of zero indicates that
no items on that topic are polled.
DATA TYPE: INTEGER
ACCESS: READ, WRITE (if enabled)
RANGE: 0..2147483647
0 (no items are polled, unsolicited messages can be received)
By poking a value of zero into the update interval item a client can conveniently
stop all update activities on the corresponding topic without having to deactivate the
items.
The MAXINTERVAL item is used to access the measured maximum update interval in
milliseconds of all items of the corresponding topic for the last completed poll cycle. It is
the same value displayed in the ABCIP - Data Monitor window next to "Longest
Interval". This item is read only.
Type: INTEGER
ACCESS: READ
RANGE: 0..2147483647
The ITEMCOUNT item is used to access the number of active items in the
corresponding topic. It is the same value displayed in the ABCIP - Data Monitor
window under "Items". This item is read only.
DATA TYPE: INTEGER
ACCESS: READ
RANGE: 0..2147483647
Use the ITEMCOUNT item to monitor the number of currently active items.
The ERRORCOUNT item is used to access the number of active items that have errors
in the corresponding topic. It is the same value displayed in the ABCIP - Data Monitor
window under "errors ( ) only". If the communication status of a topic is bad, all items
have errors (item count equals error count). This item is read only.
DATA TYPE: INTEGER
ACCESS: READ
RANGE: 0..2147483647
Use the ERRORCOUNT item to monitor if there are any badly configured items or
invalid item values. This is the case if the topic STATUS is good (1) and
ERRORCOUNT is not zero.
The WRITECOMPLETE item is used to access the state of pending write activities on
the corresponding topic. When the topic is opened, the value of the
WRITECOMPLETE item is initially 1 indicating all write activities are complete - no
pokes are pending. If values are poked into any items of the topic the value of the
WRITECOMPLETE item changes to 0 (pending) indicating write activity is currently in
progress. If the server has completed all write activities the value of the
WRITECOMPLETE item changes to 1 (complete) if all pokes were successful or to -1
(error) if at least one poke has failed. If the value of the WRITECOMPLETE item is not
zero the client can poke 1 or -1 to it (poke a 1 to clear errors or a -1 to test a client reaction
on write errors).
DATA TYPE: INTEGER
ACCESS: READ/WRITE
RANGE: -1,0,1
The STATUS item is used to access the state of communication between the server and
PLC. The discrete item, STATUS , is set to 0 when communication with the PLC fails and
is set to 1 when communication is successful.
DATA TYPE: DISCRETE
ACCESS: READ ONLY
RANGE: 0,1
For each topic name (PLC), there is a built-in discrete item that can be used to monitor
the status of communications with the PLC. The discrete item, Status, is set to 0 when
communication with the PLC fails and is set to 1 when communication is successful.
The status of the PLC communications can be read into Excel by entering the following
DDE reference formula in a cell on a spreadsheet:
=ABCIP|ABPLC!Status
where:
ABCIP Is the name of the server application.
ABPLC Is the exact topic name defined in the server for the PLC.
Status Built-in discrete item used to monitor the status of
communications with the PLC.
InTouch supports built-in topic names called DDEStatus and IOStatus that are used to
monitor the status of communications between the server and InTouch. For more
information on the built-in topic names DDEStatus and IOStatus, see your online
“InTouch User’s Guide”.
The status of communication between the server and InTouch can be read into Excel by
entering the following DDE reference formula in a cell on a spreadsheet:
=view|DDEStatus!ABPLC
or
=view|IOStatus!ABPLC
where:
view Is the name of the InTouch application.
[DDE][IO]Status Built-in topic name used to monitor the status of
communications between the server and InTouch.
ABPLC The exact topic name defined in the server for the PLC.
Values may be read directly into Excel spreadsheets from the server by entering a DDE
formula into a cell using the following format:
=applicationname|topicname!itemname
Example formula:
= ABCIP|ABPLC!N7:0
where:
ABCIP Is the name of the server application.
ABPLC Is the exact topic name defined in the server for the PLC.
N7:0 Is the actual location in the PLC that contains the data value.
This is the item name
In this example, each time the value of N7:0 changes in the PLC, the server will
automatically send the new value to the cell containing the formula in Excel.
Refer to the Microsoft Excel manual for complete details on entering Remote
Reference formulas for cells.
Values may be written to the server from Microsoft Excel by creating an Excel macro that
uses the POKE command. The proper command is entered in Excel as follows:
channel=INITIATE("applicationname","topicname")
=POKE(channel,"itemname",Data_Reference)
=TERMINATE(channel)
=RETURN()
The following describes each of the above POKE macro statements:
channel=INITIATE("applicationname","topicname")
Opens a channel to a specific topic name (defined in the server) in a particular
application name (the executable name less the .EXE) and assigns the number of that
opened channel to channel.
By using the channel=INITIATE statement the word channel must be used in the
=POKE statement instead of the actual cell reference. The "applicationname" and
"topicname" portions of the formula must be enclosed in quotation marks.
=POKE(channel,"itemname",Data_Reference)
POKEs the value contained in the Data_Reference to the specified item name (actual
location in the PLC) via the channel number returned by the previously executed
INITIATE function. Data_Reference is the row/column ID of the cell containing the
data value.
=TERMINATE(channel)
Closes the channel at the end of the macro. Some applications have a limited number of
channels therefore, they should be closed when finished. Channel is the channel
number returned by the previously executed INITIATE function.
=RETURN()
Marks the end of the macro.
Refer to the .XLM sample Excel poke macro provided on the server program disk.
Also refer to the Microsoft Excel manual for complete details on entering Remote
Reference formulas for cells.
This section provides you with some simple steps that can be taken to ascertain and
correct communication problems. The problems described here represent the most
probable causes of communication failure.
This is a general troubleshooting guide and for the sake of brevity we cannot
cover every possible source of communication problems.
This section explains the most common error situations that can occur when attempting
to establish communication between InTouch and a server.
Servers are Window applications that communicate with I/O, PLCs, and/or other data
sources. If a server supports either the Microsoft Dynamic Data Exchange (DDE) or the
Wonderware SuiteLink protocol, it is capable of communicating with the Wonderware
InTouch program.
All Wonderware version 7.0 or later servers support both DDE and SuiteLink.
However, the SuiteLink protocol is only supported on the Windows NT (version 4.0 or
later) and Windows 2000 operating system.
We highly recommend starting all the servers required by the InTouch application
before starting WindowViewer. InTouch (versions prior to 7.0) will display the Initiating
DDE Conversation message box for each uninitiated conversation.
For example:
If you start up WindowViewer and cannot successfully establish a conversation
with a server, the following Initiating DDE Conversation dialog box will appear:
The information in the second line indicates that you have at least one I/O type
tagname defined in your Tagname Dictionary that is associated with an Access
Name that defines OMRONFO as the Application Name, and HLPLC as the Topic
Name. Make note of exactly how the application and topic names are spelled.
8 This example only applies when using a version of InTouch prior to InTouch
7.0.
To troubleshoot communication problems between WindowViewer and the server,
perform the following steps as listed below.
ุ If the I/O Server is running, verify the I/O Server's program name is correct in all
WindowMaker Access Name definitions.
1. Switch to (or start) WindowMaker. Select Access Names from the Special Menu,
the Access Name Definitions dialog box appears listing all Access Names defined in
the WindowMaker.
2. In the Access Names list, select the Access Name referencing the server and click
Modify. The Modify Access Name dialog box will appear.
3. Verify the server's program name in the Application Name box is correct. If it is
wrong then correct it and click OK , else click Cancel.
8 The server's exact "executable name" must be typed in the Application Name
box in all Access Name definitions. The ".exe" extension is not used.
8 If you are debugging a remote tagname reference, also verify that the node
name for the remote computer in the Node Name box is correct.
4. Repeat steps 2 & 3 and verify the server program name is correct in all Access
Names that use it.
ุ If you still cannot establish a conversation, verify the exact topic name used in the
WindowMaker Access Name definitions are defined in the I/O Server program.
ุ If you are still experiencing problems, continue with the following troubleshooting
section.
If you have successfully applied the debug techniques listed in the previous section and
are still experiencing communication problems to a server that is attempting to
communicate using the SuiteLink protocol, perform the following steps as listed below:
ุ Verify the I/O Server supports the Wonderware SuiteLink protocol, that is, the I/O
Server is version 7.0 or above.
ุ Try communicating to the I/O Server using the DDE protocol. If this is not possible,
then proceed to the next troubleshooting section otherwise continue with the following
steps:
1. Verify Microsoft's TCP/IP stack is installed and configured properly.
8 SuiteLink uses the Microsoft TCP/IP stack for its communications even if the
client application and the server reside on the same node.
2. If you do not have an Ethernet card to bind to the TCP/IP stack, install the
Microsoft Loop Back Adapter.
3. Install the Microsoft TCP/IP stack.
This section provides you with simple steps to diagnose and correct server to PLC
communication problems. The debug techniques listed below address both serial and
board servers. Disregard any information that is not applicable to the server type that
you are using.
When attempting to establish communication between a server and a PLC, if no data
appears in the server's program window and the data items are not updating in
WindowViewer, switch to the Wonderware Logger and check for error messages.
$ For more information on the Wonderware Logger, see your online FactorySuite
System Administrator's Guide.
For example, some of the most common errors that may appear in the Wonderware
Logger for serial servers are:
Response Timeout
WCRET = -2
WakeUp = -2
Receive Overrun
Framing Errors
Unless specified otherwise, most serial communication based servers are full
duplex. If you require a server for half duplex (one that monitors the CTS and RTS lines)
or if you are not sure whether the PLC's protocol is full or half duplex, call your PLC
supplier.
Also, during in-house server testing, we have found that the communication cards that
use the National 16450 and 16550 UARTs seem to be less susceptible to level and timing
problems. Cards based on other chips may work, but we recommend using the National
cards. Some of the highly integrated UART chips (most notably, Winbond and UMC)
have a tendency for their transmitters to hang, requiring re-initialization of the UART. If
this occurs, you may have to restart the server or execute the Reinitialize I/O command
from the Special menu in WindowViewer.
ุ Verify the I/O Server’s serial configuration settings (Parity, Stop Bits, Baud Rate,
Handshaking and so on) against the settings in the hardware device.
ุ Does your computer crash when trying to communicate through the COM port?
If so, verify that each TSR has a unique software interrupt.
8 A utility, ShowSoft, is available on the Knowledge Base CD that can assist in
determining the available software interrupts.
ุ If the PLC or field device has more than one COM port, verify the connection to the
correct port.
The COM port on your computer uses the RS-232 hardware communication standard
and connects the cable from the COM port to an RS-232 compliant device.
To connect to an RS-422 or RS-485 port on the PLC, you need an RS-232 to RS-
422/485 conversion device.
If possible, use an external converter instead of a board-based converter that plugs into
a slot in the computer. A board-based converter is difficult to get working for
inexperienced users. If a board-based converter is not set up properly, it can conflict
with other communication boards in the computer such as, internal modems.
1.
ุ If you are using the Windows NT and Windows 2000 operating system, verify the
following:
1. Click Start on the Windows taskbar. Point to Settings, then click Control Panel in
the menu. The Control Panel dialog box will appear.
2. Double-click the Ports icon, the Ports dialog box will appear.
3. Select a port and click the Settings button. The Settings for COMx dialog box
appears:
4. Click Advanced. The Advanced Settings for COMx dialog box appears:
5. Lowering the setting for the Interrupt Request Line (IRQ) value to the minimum may
solve I/O communication problems for portable computers (notebook or laptops)
and framing errors for standard computers.
6. If you are using a 16550 UART chip, select the FIFO Enabled option. If you are not
using a UART chip, make sure this option is not selected.
ุ How long is your RS-232 cable?
Fifteen meters (fifty feet) is the maximum practical length for the RS-232 standard.
ุ Verify the PLC is properly configured and the cable is good by using the programming
software for the PLC.
1. Connect to the PLC with the programming software. The connection must be
through the same port and cable. Go into the programming software configuration
and write down what the communications parameters are (baud rates, routes, node
number, error checking, etc.).
2. Close the programming software. Open the I/O Server and verify the
communications settings are the same.
3. Poke data into the PLC with InTouch or WWClient.
4. Shut down the server and use the programming software to verify that the values
were correctly poked.
8 Performance of this test depends upon the type of PLC you are using.
ุ Reinstall the I/O Server and verify that you are using the latest version.
Wonderware is continually improving our servers and using the latest version will
guarantee the best results.
8 New versions of the Wonderware I/O Servers are released regularly on the I/O
Server CD included in Comprehensive Support Shipments and they are also
available from the Wonderware WEB site at: http://www.wonderware.com.
ุ Move the I/O Server’s configuration file to another location on the computer’s hard
drive. This will clear all configuration for the I/O Server, then reconfigure the I/O
Server.
8 Wonderware server configuration files are typically the exact same name as the
server’s executable name with the .cfg extension. For example, OMRONFO.cfg .
Refer to the Configuration File section of the specific server user’s guide for the
exact name of the configuration file.
ุ If these troubleshooting suggestions do not solve your problem, there may be a problem
with your computer. There are many subtle differences between the various computer
hardware brands. Using a computer that is a different brand and meets the following
criteria:
1. Select a different PC manufacturer and if this is not possible, try a different PC model
from the same manufacturer.
2. The computer can not use an OEM (Original Equipment Manufacturer) version of
Microsoft Windows. We highly recommend using only a Microsoft Windows
product. Contact your vendor to determine if installing an off-the-shelf copy of
Microsoft Windows will cause any problems.
ุ If you feel you have tested all possible situations that may be causing your failed I/O
communications, contact your local Wonderware distributor for technical support.
$ For more information on obtaining technical support, see your online FactorySuite
System Administrator’s Guide .