BRX PLC HSIO Step-and-Direction Output Limits and Expansion

Brian Holt8 min read
AutomationDirectMotion ControlTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Overview

The AutomationDirect BRX Do-more series PLC platform provides integrated high-speed I/O (HSIO) channels for step-and-direction motion control. Applications requiring multiple axes of stepper or servo control must observe the per-CPU axis count, the local expansion module limit, and the pulse-rate response of each output type. This reference documents the maximum number of step-and-direction outputs achievable on a single BRX CPU such as the BX-DM1E-36ED13-D, the rules governing the BX-HSIO1 expansion module, and the programming constructs (AXPOSSCRV) used to execute point-to-point moves with S-curve profiling.

For a typical 20-axis step-and-direction requirement, the arithmetic is: (3) built-in HSIO outputs on the CPU + (N) HSIO1 modules x (3) outputs each, where the local expansion bus is capped at (8) modules. An Ethernet-capable 18-point or 36-point CPU therefore supports up to 3 + (8 x 3) = 27 possible axes of motion from a single MPU. Larger systems can be extended through Ethernet I/O to additional BX-DMIO bases.

BRX HSIO Hardware Architecture

Every BRX MPU (Micro Processing Unit) reserves a fixed number of high-speed output channels that operate independently of the standard discrete outputs. These channels are dedicated to high-speed functions such as step-and-direction, pulse-and-direction, quadrature, and high-speed counters. Two distinct speed tiers exist:

Output Tier Source Maximum Pulse Rate Typical Use
Dedicated HSIO outputs BX-HSIO1, BX-HSIO2, BX-HSIO4 (per axis) 2 MHz Precision stepper/servo control, encoder tracking
MPU standard outputs reused for HSIO Standard discrete outputs on the MPU Approx. 110 Hz Slow-rate triggering, low-resolution pulse generation

The 2 MHz capability is documented in the BRX product literature for the intelligent HSIO modules, while the ~110 Hz figure for the MPU standard outputs is specified in Chapter 11 of the BRX User Manual. Selecting the wrong output tier for a motion application will cause missed steps, jitter, or following error on the connected drive.

BX-DM1E-36ED13-D CPU Specifications

The BX-DM1E-36ED13-D is an Ethernet-capable 36-point BRX Do-more CPU. Its relevant HSIO characteristics for this application are:

  • Built-in high-speed outputs: 3 (step-and-direction capable)
  • Ethernet port: 10/100 Mbps, supports Ethernet I/O to BX-DMIO bases
  • Local expansion bus: supports up to 8 expansion modules
  • Onboard discrete I/O: 20 DC inputs / 16 DC outputs (mix of sinking/sourcing per -D suffix designation)
  • Firmware class: Do-more BRX series, programmable with Do-more Designer

The (3) integrated step-and-direction outputs eliminate the need for an expansion module when axis counts are modest. For axis counts greater than 3, BX-HSIO1 expansion modules extend the bus with (3) additional step-and-direction pairs each.

BX-HSIO1 Expansion Module Details

The BX-HSIO1 is the base intelligent HSIO expansion module for the BRX platform. It provides (3) axes of high-speed step-and-direction output and (4) high-speed input channels rated for high-speed counter, timer, or interrupt functions. Key parameters:

Parameter Specification
Step-and-direction outputs 3 axes (6 output points total: STEP+/STEP- and DIR+/DIR- per axis)
Maximum pulse rate 2 MHz per axis
High-speed inputs 4 (24 VDC, sinking/sourcing compatible)
Input functions supported High-speed counter, pulse catch, interrupt, frequency measurement
Output voltage 5 VDC differential (line driver) or 24 VDC open-collector (variant dependent)
Local bus power draw Refer to BRX User Manual power budget tables

The 2 MHz pulse rate matches the rating advertised for BRX intelligent HSIO modules in the AutomationDirect BRX HSIO product video and the BRX user manual. Select the differential output variant when driving stepper drives that accept 5 V differential signals (most common), and the open-collector variant for 24 V single-ended inputs.

Local Expansion Module Limit (8 Modules)

The BRX local expansion bus is hard-capped at (8) modules per MPU. This limit applies to any combination of expansion modules installed to the right of the CPU, regardless of whether the modules are discrete, analog, or intelligent HSIO. The Do-more Designer toolchain will refuse to add a ninth module to the I/O configuration.

To compute the maximum number of HSIO axes achievable on a single MPU:

Max_HSIO_Axes = 3 + (8 x 3) = 27

This assumes all (8) expansion slots are populated with BX-HSIO1 modules. Mixing HSIO modules with discrete and analog modules reduces the available HSIO slot count and therefore the total axes. For the 20-axis scenario described, (6) BX-HSIO1 modules are required, leaving (2) expansion slots free for other I/O such as the BX-16CD3D1 combo module referenced in the source scenario.

Ethernet I/O Expansion Beyond 8 Modules

When an application exceeds the local 8-module limit, Ethernet I/O provides a path to scale further. Ethernet-capable BRX MPUs (the -E suffix variants) can communicate with up to (16) BX-DMIO bases over Ethernet. Each BX-DMIO base is itself a multi-slot local expansion rack accepting discrete and analog modules. Important constraints:

  • BX-DMIO bases do NOT support intelligent modules such as BX-HSIO or BX-SERIO. Only discrete and analog I/O are permitted on remote Ethernet bases.
  • For HSIO expansion beyond 8 modules, the BX-HSIO1 must remain on the local bus of the MPU, with HSIO axes physically wired to the local I/O terminals.
  • Hybrid systems (local HSIO + remote discrete/analog) are possible and common.

Practical rule: if the application needs more than 27 step-and-direction axes, the motion must be split across multiple MPUs. Each MPU can then drive its own local bank of HSIO axes, and supervisory coordination is handled through Ethernet or serial messaging between MPUs.

AXPOSSCRV Motion Programming

AXPOSSCRV is the Do-more instruction used to command an absolute position move with S-curve acceleration and deceleration profiling. The S-curve profile limits jerk by smoothly transitioning acceleration at the start, midpoint, and end of the move, reducing mechanical stress on belt, ballscrew, and linear-stage systems. Typical block parameters include:

Parameter Description
Axis ID HSIO axis number (1 to 27 in the maximum configuration)
Position Target absolute position in user units (steps, encoder counts, or engineering units)
Max Velocity Peak velocity in user units per second
Accel / Decel Linear acceleration/deceleration time or rate
Jerk S-curve jerk limit; higher value = sharper transition, lower = smoother profile
Done bit Boolean set when the move completes

Sample ladder structure (illustrative):

STR X0          ; Start input
AXPOSSCRV AXIS1 POS=V10000 VEL=V20000 ACCEL=500 DECEL=500 JERK=100 DONE=ST1
OUT Y0          ; Servo enable maintained

When issuing AXPOSSCRV across (20) axes, use a structured-text or stage-based program to ensure that homing, servo enable, and move-completion interlocks are managed per axis. Issuing simultaneous moves to all axes from a single rung is supported but should be coordinated against the MPU scan budget.

Configuration Steps

  1. Open Do-more Designer and create a new project for the BX-DM1E-36ED13-D.
  2. In the I/O Configuration panel, add (6) BX-HSIO1 modules to the local expansion bus and (1) BX-16CD3D1 combo module. Verify the total module count is 7 (under the 8-module limit).
  3. Assign each HSIO1 module an axis ID range (1-3 on MPU, 4-6 on first HSIO1, 7-9 on second, and so on, up to 19-21 on the sixth module).
  4. Configure each axis: pulse output type (step-and-direction), pulse rate scaling, position units, and velocity/accel/jerk profiles.
  5. Wire home sensors, servo enables, and fault inputs to the BX-16CD3D1 inputs and the HSIO1 high-speed inputs.
  6. Program the AXPOSSCRV blocks per axis, including homing sequences and absolute position presets.
  7. Download the project to the CPU, switch to Run mode, and verify each axis with a test move before commissioning the full machine.

Verification

After configuration, perform the following checks:

  • Confirm the Do-more Designer I/O Configuration screen shows 7 expansion modules and no configuration errors.
  • Use the Do-more Designer PID/HSIO monitor to observe live pulse output on each axis; frequency should track the commanded velocity within the 2 MHz envelope.
  • Issue a small AXPOSSCRV move (e.g., 1000 user units) and confirm the connected drive reports the expected position change.
  • Verify the MPU scan budget. Each active HSIO axis adds minor processing overhead; a fully loaded 27-axis configuration should still operate well under the MPU scan budget, but profile tuning may be required.
  • Check the high-speed input response on home sensors. Latency at 2 MHz operation should be sub-millisecond.

Troubleshooting Matrix

Symptom Likely Cause Corrective Action
9th expansion module does not appear in configuration Local bus limit of 8 modules exceeded Remove a module, use Ethernet I/O for non-HSIO points, or split motion across a second MPU
Drive misses steps at high velocity Pulse rate exceeds 2 MHz, or wiring is single-ended at long distance Verify commanded velocity, check pulse rate at the drive, switch to differential wiring
AXPOSSCRV completes but position is wrong Wrong axis ID mapping in I/O configuration Reassign axis IDs in Do-more Designer and re-download
Standard MPU output used for high-speed command runs at 110 Hz only Standard outputs reused for HSIO are bandwidth-limited Move the high-speed function to a dedicated HSIO1 channel
BX-DMIO base does not recognize BX-HSIO1 module Intelligent modules are not supported on Ethernet bases Keep BX-HSIO1 on the local MPU bus; use Ethernet bases for discrete/analog only
Jerk or vibration on profile Jerk parameter set too high for mechanical system Reduce jerk value in AXPOSSCRV block; verify S-curve transition is smooth
Engineering Note: When scaling beyond 27 axes, design the system around one MPU per motion cluster (up to 27 axes) and use Ethernet or serial messaging for supervisory coordination. Trying to force more HSIO1 modules onto a single MPU will exceed the 8-module local bus limit and will not be accepted by the Do-more Designer configuration tool.

How many step-and-direction axes can a single BX-DM1E-36ED13-D support?

A single BX-DM1E-36ED13-D supports 3 built-in HSIO outputs plus up to 8 BX-HSIO1 expansion modules x 3 outputs each, for a maximum of 27 step-and-direction axes on one MPU.

What is the maximum pulse rate of the BX-HSIO1 module?

The BX-HSIO1 intelligent HSIO module supports pulse rates up to 2 MHz per axis, as documented in the BRX HSIO product literature and Chapter 11 of the BRX User Manual.

Can BX-HSIO1 modules be placed on Ethernet BX-DMIO remote bases?

No. Ethernet BX-DMIO remote bases only accept discrete and analog I/O modules. Intelligent modules such as BX-HSIO and BX-SERIO must remain on the local MPU expansion bus.

What is the local expansion module limit on a BRX CPU?

The local expansion bus is hard-limited to 8 modules per MPU, regardless of module type. This cap applies to any combination of discrete, analog, and intelligent HSIO modules.

What is the difference between MPU standard outputs and HSIO1 outputs in high-speed mode?

MPU standard outputs reused for high-speed functions are limited to approximately 110 Hz response. Dedicated BX-HSIO1 outputs support up to 2 MHz, making them the correct choice for step-and-direction motion control.

Back to blog