1. Overview

1.1. Introduction

This document describes the installation, usage, and functionality of the RIOSLAVE TLM, which is a TOPDOC Loadable Module (TLM) that enables a SoftPLC to emulate remote racks on an Allen-Bradly Remote I/O network. The RIOSLAVE TLM implements the Allen-Bradley Remote I/O slave (adapter) protocol (RIO).

This functionality is only available on Smart SoftPLC’s equipped with the Smart A-B RIO Adapter Interface (Cat. No. SM-ABRIOAx). The SM-ABRIOA is a factory installed option.

1.2. Concepts

The SoftPLC runtime engine software supports TLM’s, which are shared library extensions to SoftPLC. A TLM may be loaded either as a DRIVER or as a MODULE. The difference between a DRIVER and a MODULE is that a DRIVER is called once per SoftPLC scan, and optionally an additional number of times per scan. A MODULE is only called when the control program decides to call it and not as an inherent part of the scan. TLM’s are made known to SoftPLC in the MODULES.LST file which may be edited by TOPDOC NexGen by traversing to: PLC | Modules.

This RIOSLAVE TLM is a DRIVER and has no TOPDOC Loadable Instructions.

1.3. Features

  • Supports racks numbered from 0 to 076 (octal).

  • Can emulate up to 63 racks concurrently, per port.

  • Supports a 120 ohm termination resistor, software selectable.

  • Supports baud rates of 57600 (56.7Kbaud), 115200 (115.2Kbaud), and 230400 (230.4Kbaud).

  • Block transfer is supported.

1.4. Required Hardware/Software

1.4.1. Hardware

  • Smart SoftPLC or Smart Gateway

  • SM-ABRIOA5 and/or SM-ABRIOA6 Smart A-B RIO Slave Interface hardware (one per network).

  • SM-COM6CBLTB - Smart COM6 Port Cable to Din-Rail Terminal Block Assembly (required for SM-ABRIOA6) _Includes RJ11 interconnect cable and din-rail terminal block.

  • Belden #9463 Blue Hose connection cable(s) [customer supplied]

Only version 2.0 (or later) Smart boards can support more than one A-B RIO interface.

1.4.2. Software

  • Gatecraft Linux 2011A or above

  • SoftPLC version 4.6 runtime or above

  • TOPDOC NexGen 1.6 or above

2. Warranty

2.1. Terms of Use

Because of the variety of uses of the information described in this manual, the users of, and those responsible for applying this information must satisfy themselves as to the acceptability of each application and use of the information. In no event will SoftPLC Corporation be responsible or liable for its use, nor for any infringements of patents or other rights of third parties which may result from its use.


SoftPLC Corporation reserves the right to change product specifications at any time without notice. No part of this document may be reproduced by any means, nor translated, nor transmitted to any magnetic medium without the written consent of SoftPLC Corporation.

SoftPLC, TOPDOC and Smartboard are registered trademarks of SoftPLC Corporation.

© Copyright 2011-2016 SoftPLC Corporation ALL RIGHTS RESERVED

First Printing

May, 2011

Latest Printing

April, 2016

SoftPLC Corporation
25603 Red Brangus Drive
Spicewood, Texas 78669

USA Telephone: 1-800-SoftPLC
WW Telephone: 512/264-8390
Fax: 512/264-8399
URL: http://softplc.com
Email: support@softplc.com

3. Installation

3.1. Hardware Installation

The internal A-B RIO interface is factory installed into the Smart SoftPLC/Gateway. SM-ABRIOA5 replaces the COM5 port, SM-ABRIOA6 is available from COM6.

3.1.1. Component Overview

The figure below shows the port/wiring connection for the blue hose connected to COM5 of a Smart SoftPLC/Gateway with SM-ABRIOM5. Using the center line of text, the Clear wire connects to the terminal marked “C”, the Shield connects to the center marked “S”, and the Blue wire connects to the terminal marked “B”. Version 2.x (and later) Smart boards support RIO via COM5.


The figure below shows a mounted Smart SoftPLC/Gateway attached to the Smart COM6 Cable Assembly (Cat No SM-COM6CBLTB). Version 1.x and Version 2.x Smart Boards support RIO via COM6.


3.1.2. A-B RIO Wiring Connection to Din-Rail Terminal Block

The Terminals labeled by number in the image below correspond to the following wiring:

  1. No Connection

  2. No Connection

  3. Blue

  4. Clear

  5. Shield/Drain

  6. No Connection

The version 2.x (and later) Smart boards have a 3 point terminal block for each supported RIO network.


3.2. Software Installation

The TLM is named rioslave.tlm.so, and the configuration file is RIOSLAVE.LST. Both of these files will be pre-installed on the PLC for you. To use it you have to enable and configure it using TOPDOC NexGen’s PLC | MODULES editor. Select Use for RIOSLAVE.TLM, then click on the Configure button to edit the RIOSLAVE.LST file.


4. Configuration

4.1. RIOSLAVE.LST Configuration File Details

The configuration file for the RIOSLAVE TLM is /SoftPLC/tlm/RIOSLAVE.LST. This file is used to set the debug level, baudrate, termination resistor on/off state, the I/O Bus Addresses and associated SoftPLC Datatable assignments.

; Configuration file for SoftPLC TLM "RIOSLAVE".
; Comments start with a semicolon.

; Set to 0 normally, 1 for full RIO network logging (using console redirection)

; Which COM port, either 5 or 6 are typically allowed for a Smart.
; And 0 is allowed for a Neo

; BAUDRATE may be one of: 57600, 115200 or 230400

; TERMINATION_RESISTOR may be yes or no, and possibly adds a 120 ohm
; termination resistor via this software setting

; For PLC-2 master only:
; if this TLM is acting as a last adapter, set to yes
; else set to no

; A block of 1 word(s) that hold(s):
; [0]: RIO Master Mode

;   IOBusAddr Defined:
;   IOBusAddr is used in the rows below, and is rack number and an even io group
;   address of the start of a quarter rack of AB RIO.  For example:
;   I:036
;   ^ ==^
;   | ^ |
;   | | +--------- I/O group number, must be even, one of: 0,2,4, or 6
;   | |
;   | +----------- 2 digit octal rack number 0 to 76, but further limited by
;   |              your RIO master, i.e. by your PLC.  We start from rack zero.
;   |
;   +------------- I or O meaning read or write to the rack, respectively.
;                  Use I under [INPUTS], and O under [OUTPUTS]

; The IOBusAddr are the addresses actually used on the RIO cabling systems, and
; are therefore relative to the master RIO scanner.

;DatatableAddr      IOBusAddr       NumWords
N17:0000            I:020           8

;DatatableAddr      IOBusAddr       NumWords
N7:0000             O:020           8

; [BLOCKTRANSFER_READS] and [BLOCKTRANSFER_WRITES] sections create a mapping of
; an I/O slot in the main processor's memory to a datatable memory block in this
; slave machine. From 1 to 64 words can be transfered for each BT READ or WRITE,
; and for both slot=0 and slot=1 of each I/O word.

;DatatableAddr      IOBusAddr       NumWords (1-64)     Slot (0-1)
N7:0100             I:027           64                  1

N10:0               O:024           10                  1

5. Usage

5.1. Editor Usage


Load button will load the configuration file from the development system’s disk.
Save button will write the configuration file to the development system’s disk.
Fetch button will load the configuration file from the runtime system’s disk.
Send button will write the configuration file to the runtime system’s disk.

The next step is to restart or cycle power on the SoftPLC for the changes to take place. As an alternative to cycling power, you may enter "Remote Program" mode using NexGen, then select "Remote Program" a second time. This psuedo transition from Remote Program to Remote Program is a signal to the TLM that it should reload its configuration file. This way you can reconfigure without cycling power, although it does require you enter "Remote Program" mode (twice!).