Protocols & Communication

Problem

How do I configure an SLC 5/03 as a master with a SCADAPack as a slave?

Environment

Allen Bradley
SLC 5/03
DF1

Fix

My settings and other notes are below on how to set up an A/B SLC and a SCADAPack to have the SLC poll the SP for data using a MSG instruction.

SLC 5/03 settings:

Channel 0

  • DF1 Full Duplex, 9600, N, 1, Address 1 (or as required)
  • No Handshaking, CRC, Embedded Responses Enabled
  • Duplicate Packet Detect Disabled
  • Ack Timeout 50 (x20ms), NAK & ENQ Retries 3

Read MSG 

  • Type - Peer to Peer
  • Read/Write - Read
  • Target Device - 485CIF
  • Local/Remote - Local
  • Control Block - N7:0 (or as required)

Data Table Address 

  • Any N9:xx word address (as destination)
  • Size in Elements - Number of words to read
  • Channel - 0
  • Message Timeout - 5 (default)
  • Data Table Offset - 0 (or as required - this is a BYTE value offset of the data in the SCADAPack. Eg an Offset of 10 refers to Modbus addresses 00081 - 00096)
  • Local Node Addr - 2 (as required - this is the SCADAPack)

Write MSG

  • Type Peer to Peer
  • Read/Write - Write
  • Target Device - 485CIF
  • Local/Remote - Local
  • Control Block - N7:20 (or as required)

Data Table Address 

  • Any N9:xx word address (as source)
  • Size in Elements - Number of words to write
  • Channel - 0
  • Message Timeout - 5 (default)
  • Data Table Offset - 128 (or as required - this is a BYTE value)
  • Start address in Modbus = 00001 (bit addressing)
    Eg (128 * 8) + 00001 = 01025 Modbus
  • Local Node Addr - 2 (as required - this is the SCADAPack)

Notes:

  • The Data Table Offset refers to the address in the SCADAPack. A value of 0 points to the first byte in the SCADAPack's memory. Size In Elements is a value in words. (16 bit blocks) Thus doing a Read of 1 element starting at Offset 0 will read Modbus addresses 00001 - 00016. Doing a Write of 1 element starting at Offset 2 will write to Modbus addresses 00017 - 00032.
  • The SLC's 485CIF read and write commands will only accept a maximum Offset of 255. As a result it is necessary to use MOVE instructions in TelePACE to place integer or float data down into the first 128 words (256 bytes) of Modbus addresses (00001 - 02048).
  • Select Byte Addressing by setting S:2/8 true on an unconditional rung.
  • Remember to trigger your MSG blocks only as required.

SCADAPack Serial Port Settings:

  • Port selected - com 2
  • Protocol - DF1 Full Duplex CRC
  • Station - 2 (as required but must be same as used in the MSG blocks) 9600 baud, No Parity, No TX Flow control Port Type - RS-232
  • MOVE function settings:
  • Source Block - word or bit level data, eg analogs at 30001 Destination Block - eg 00081 81/16 = 5th word, first bit
    Or 00001 first word, first bit
  • Number of Registers - Number of 16 bit registers to move
  • Ensure that the correct Type of controller is selected, and then that the settings are downloaded into the SCADAPack.
  • Use a 3 wire null modem cable. (TxD to RxD, RxD to TxD)