Applies To:
  • CitectSCADA 3.00

Summary:
How do I use Citect with Allen-Bradley Interchange software? 

Solution:
Hardware requirements
Ethernet card and network connection to PLC with network interface.

Software requirements
Microsoft TCP/IP-32 3.11 with ODI/NDIS3 Drivers.

Allen-Bradley supplied Interchange software 5850-WES or Citect AB Interchange (Ethernet) setup disk.

Boards form
Board name: User supplied unique name
Board type: ABEI
Address: 0
I/O Port: not used
Interrupt: not used
Special Opt: not used
Ports form
Port name: User supplied unique name
Port number: not used
Board name: Use the "Board name" from the Boards form
Baud rate: not used
Data bits: not used
Stop bits: not used
Parity: not used
Special Opt: The IP address in standard internet dot notation
a.b.c.d
For best performance configure a virtual port for each PLC. Up to 40 ports can be defnined.  Maxpending * number of ports must not be more than 40.
I/O Devices form
Name: User supplied unique name
Number: Network wide I/O device number
Address: PORT_ID,STATION_NUM
When accessing a PLC station that is local to the Network Interface use "," as the Address.
When accessing a remote PLC station via a local PLC-5/250
PORT_ID is the communication channel that the Network Interface will use to access a remote PLC station. e.g

2 for channel 2 of a resource manager
3 for channel 3 of a resource manager
nKA:2 for channel 2 of a KA module with pushwheel n(n=1 - 4)
nKA:3 for channel 3 of a KA module with pushwheel n(n=1 - 4)

STATION_NUM is the DH or DH+ node number of the remote PLC station. It must be specified in octal notation and must be between 1 and 376 (octal) inclusive (for Data Highway channels) or 0 and 77 (octal) inclusive (for Data Highway Plus channel)

Protocol: ABEI250 for PLC-5/250
ABEI5 for PLC-5
ABEI3 for PLC-3
ABEI2 for PLC-2
Port name: Use the "Port name" from the Ports form

Unsolicited Messages

If the Address of an IO device in is blank then this device is for processing unsolicited messages from all PLCs. The protocol must be ABEI2 since only PLC-2 type messages are supported. Only one device should be used in this way to process unsolicited messages.

Citect.ini options

[ABEI]
UnsolicitedBytes = 1024

The default size of the PLC-2 data table is 512 words (10 to 777 octal). Words 0 to 7 are not accessible.

Standard citect.ini options

[ABEI]
MaxPending = 2 (set to 1 if using more than 20 ports)
Block = 192 bytes
Retry = 1
Delay = 0
TimeOut = 4000 milliseconds
PollTime = 60 milliseconds
WatchTime = 30 seconds

Files

  • ABEI.DLL EI Driver for windows using AB Interchange Software (Ethernet)
  • AB_2.DBF PLC-2 Variable Template
  • AB_3.DBF PLC-3 Variable Template
  • AB_5.DBF PLC-5 Variable Template
  • AB_5_250.DBF PLC-5/250 Variable Template
  • DTLEIW.DLL EI Interchange DLL licensed from Allen-Bradley

Error

37 Inconsistent Maxpending specified. You may get this error if you are using the driver with version 2.0 CITECT. The maxpending in [ABEI?] and [ABEI] in citect.ini (alternate citect.ini is not supported) must be the same.

Connection Timeout

When using Microsoft TCP/IP, an attempt to connect to an IP address that is not on the network will take 93 seconds, during that time requests and responses from other IP addresses cannot be processed even if they are working. This is because the interchange library supplied by Allen-Bradley is non re-entrant.

The connection timeout is controlled by a system.ini variable [MSTCP]MaxConnectRetries. Which should be set to 0. The default value is 3.

MaxConnectRetries

Connection timeout (in seconds)

0

9

1

21

2

45

3

93

PLC-2 Variables

O/o Digital
O Integer

Where

O Element number 0 to 3777 octal
/o Bit Number 0 to 17 octal

PLC-3 Variables

Digital
OO/o Output image
IO/o Input image
TCTL:w.t Timer Control bits
TCTL:w/o Timer Control bits
TPRE:w/o Timer Preset bits
TACC:w/o Timer Accumulator bits
CCTL:w.c Counter Control bits
CCTL:w/o Counter Control bits
CPRE:w/o Counter Preset bits
CACC:w/o Counter Accumulator bits
Nf:w/o Integer
Bf:w/o Binary
Sf:w/o Status words
PFIL:w/o Pointer Section and File
PWRD:w/o Pointer word
Integer
OO Output image
IO Input image
TCTL:w Timer Control
TPRE:w Timer Preset
TACC:w Timer Accumulator
CCTL:w Counter Control
CPRE:w Counter Preset
CACC:w Counter Accumulator
Nf:w Integer
Df:w BCD
Bf:w Binary
Af:w ASCII
Sf:w Status words
PFIL:w Pointer Section and File
PWRD:w Pointer word
Real
Ff:w Floating Point
Long
Hf:w Long

Where

f File Number 0 to 999 decimal
O Element number 0 to 7777 octal
:w Element number 0 to 9999 decimal
/o Bit Number 0 to 17 octal
.t Timer bits
TE Enable
TT Timing
TD Done
.c Counter bits
CU Count Up
CD Count Down
DN Done
OV Overflow
UF Underflow

PLC-5 Variables

Digital
O:O/o Output image
I:O/o Input image
S:w/b Status words 0 to 127
Tf:w.t Timer
Tf:w/b Timer
Cf:w.c Counter
Cf:w/b Counter
Rf:w.r Control
Rf:w/b Control
Bf:w/b Binary
Bf/b* Binary
Nf:w/b Integer
SCf:w.S Sequential Function Chart
BTf:w.B Block Transfer
Ff:w/b Floating Point
PDf:w.p PID
Integer
O:O Output image
I:O Input image
S:w Status words 0 to 127
Tf:w.T Timer
Cf:w.T Counter
Rf:w.C Control
Bf:w Binary
Nf:w Integer
SCf:w.s Sequential Function chart
BTf:w.b Block Transfer
Af:w ASCII
Df:w BCD
Real
Ff:w Floating Point
PDf:w.P PID
String
STf:w String 82 bytes long

Where

f File Number 0 to 999 decimal
:w Element number 0 to 999 decimal
:O Element number 0 to 277 octal
/b Bit Number 0 to 15 decimal
/b* Bit Number 0 to 32767 decimal
/o Bit Number 0 to 17 octal
.T Timer/Counter Sub Element
PRE Preset Value
ACC Accumulated Value
.t Timer bits
EN Enable
TT Timing
DN Done
.C Control Sub Element
LEN Length
POS Position
.c Counter bits
CU Count Up
CD Count Down
DN Done
OV Overflow
UN Underflow
.r Control bits
EN Enable
EU Enable Unloading
DN Done
EM Empty
ER Error
UL Unload
IN Inhibit Comparisons
FD Found
.S SFC Sub Element
PRE Preset Value
TIM Elapsed step active time
.s SFC bits
SA Scan Active
FS First Scan
LS Last Scan
OV Timer Overflow
ER Error
DN Done
.B Block Transfer Sub Element
RLEN Received Length
DLEN Done Length
FILE File
ELEM Element
.b Block Transfer bits
EN Enable
ST Start
DN Done
ER Error
CO Continuous
EW Enable Wait
NR No Response
TO Time Out
RW Read Write
.P PID Sub Element
SP Set Point
KP Proportional Gain
KI Integral Gain
KD Derivative Gain
BIAS Output Bias %
MAXS Maximum Scaled Value
MINS Minimum Scaled Value
DB Dead Band
SO Set Output %
MAXO Maximum Output %
MINO Minimum Input %
UPD Update Time
PVH PV Alarm High
PVL PV Alarm Low
PVDB PV Alarm Dead Band
PV Process Variable
ERR Error
OUT Output
DVP Deviation Alarm +
DVN Deviation Alarm -
DVDB Deviation Alarm Dead Band
MAXI Maximum Input
MINI Minimum Input
TIE Tieback %
.p PID bits
EN Enable
CT Cascaded Type
CL Cascaded Loop
PVT PV Tracking
DO Derivitive Of
SWM Software A/M Mode
CA Control Action
MO Mode
PE PID Equation
INI PID Initialized
SPOR SP Out of Range
OLL Output Limit Low
OLH Output Limit High
EWD Error Within Deadband
DVPA Deviation Low Alarm
DVNA Deviation High Alarm
PVLA PV Low Alarm
PVHA PV High Alarm

PLC-5/250 Variables

Digital
O:O/o Output image
I:O/o Input image
S:w/b Status words 0 to 350
IS:w/b Internal storage
nS:w/b Status words 0 to 31
nTf:w.t Timer
nTf:w/b Timer
nCf:w.c Counter
nCf:w/b Counter
nRf:w.r Control
nRf:w/b Control
nBf:w/b Binary
nBf/b* Binary
nNf:w/b Integer
nFf:w/b Floating Point
nLf:w/b Long
nPDf:w.p PID
nBTDf:w/b Block transfer data
Integer
O:O Output image
I:O Input image
S:w Status words 0 to 350
IS:w Internal storage
nS:w Status words 0 to 31
nCf:w.T Counter
nRf:w.C Control
nBf:w Binary
nNf:w Integer
nBTDf:w Block transfer data
nSDf:w Shared data words 0 to 1023
Long
nTf:w.T Timer
nLf:w Long
Real
nFf:w Floating Point
nPDf:w.P PID
String
nSTf:w String 82 bytes long

Where

n Optional Module Number 0 to 8 decimal
f File Number 0 to 9999 decimal
:w Element number 0 to 9999 decimal
:O Element number 0 to 777 octal
/b Bit Number 0 to 15 decimal
/b* Bit Number 0 to 32767 decimal
/o Bit Number 0 to 17 octal
.T Timer/Counter Sub Element
PRE Preset Value
ACC Accumulated Value
.t Timer bits
EN Enable
TT Timing
DN Done
.C Control Sub Element
LEN Length
POS Position
.c Counter bits
CU Count Up
CD Count Down
DN Done
OV Overflow
UN Underflow
.r Control bits
EN Enable
EU Enable Unloading
DN Done
EM Empty
ER Error
UL Unload
IN Inhibit Comparisons
FD Found
.P PID Sub Element
SP Set Point
KP Proportional Gain
KI Integral Gain
KD Derivative Gain
BIAS Output Bias %
MAXS Maximum Scaled Value
MINS Minimum Scaled Value
DB Dead Band
SO Set Output %
MAXO Maximum Output %
MINO Minimum Input %
UPD Update Time
PVH PV Alarm High
PVL PV Alarm Low
PVDB PV Alarm Dead Band
PV Process Variable
ERR Error
OUT Output
DVP Deviation Alarm +
DVN Deviation Alarm -
DVDB Deviation Alarm Dead Band
MAXI Maximum Input
MINI Minimum Input
TIE Tieback %
.p PID bits
EN Enable
CT Cascaded Type
CL Cascaded Loop
PVT PV Tracking
DO Derivitive Of
SWM Software A/M Mode
CA Control Action
MO Mode
PE PID Equation
INI PID Initialized
SPOR SP Out of Range
OLL Output Limit Low
OLH Output Limit High
EWD Error Within Deadband
DVPA Deviation Low Alarm
DVNA Deviation High Alarm
PVLA PV Low Alarm
PVHA PV High Alarm

Performance on 486/100 Mhz machine to PLC-5/40E
12 requests of at least 111 words each and
2 requests of 71 words each

[Page]Delay=0
[ABEI]PollTime=25

MaxPending Packets/Sec Bytes/Sec
1 16 3412
2 32 6753
3 42 8883
4 43 9130
5+ 63 13418

[Page]Delay=0
[ABEI]PollTime=25
[Kernel]MsClock=1
[Kernel]TimerResolution=25

MaxPending

Packets/Sec

Bytes/Sec

1

35

7370

2/3/4

70

14740

5

128

27121

6+

140

29480

 

Keywords:
 

Attachments