Arcus ACE-SXC User manual

ACE-SXC Manual page 1 rev 2.05
ACE-SXC
Advanced Standalone
Controller
USB 2.0 Communication

ACE-SXC Manual page 2 rev 2.05
COPYRIGHT © 2015 ARCUS,
ALL RIGHTS RESERVED
First edition, Oct 2007
ARCUS TECHNOLOGY copyrights this document. You may not reproduce or
translate into any language in any form and means any part of this publication
without the written permission from ARCUS.
ARCUS makes no representations or warranties regarding the content of this
document. We reserve the right to revise this document any time without notice
and obligation.
Revision History:
1.01 – 1st Release
2.01 – 2nd Release
2.02 – 3rd Release
2.04 – 4th Release
2.05 – 5th Release
Firmware Compatibility:
†V420BL
†If your module’s firmware version number is less than the listed value, contact Arcus for the
appropriate documentation. Arcus reserves the right to change the firmware without notice.

ACE-SXC Manual page 3 rev 2.05
Table of Contents
1. INTRODUCTION......................................................................................................................... 5
1.1. FEATURES.............................................................................................................................. 5
2. ELECTRICAL AND THERMAL SPECIFICATIONS................................................................... 6
3. DIMENSIONS.............................................................................................................................. 7
4. CONNECTIONS.......................................................................................................................... 8
4.1. 2-PIN POWER CONNECTOR (5.08MM)...................................................................................... 8
4.2. DB9 CONNECTOR................................................................................................................... 8
4.3. 10-PIN DIO CONNECTOR (3.81MM)......................................................................................... 9
4.4. ACE-SXC INTERFACE CIRCUIT............................................................................................. 10
4.5. POWER INPUT....................................................................................................................... 11
4.6. PULSE,DIRECTION AND ENABLE OUTPUTS............................................................................. 12
4.7. ALARM INPUT........................................................................................................................ 13
4.8. DIGITAL INPUTS,LIMITS,AND HOME....................................................................................... 13
4.9. DIGITAL OUTPUTS................................................................................................................. 14
5. COMMUNICATION INTERFACE.............................................................................................. 15
5.1. USB COMMUNICATION.......................................................................................................... 15
5.1.1. Typical USB Setup...................................................................................................... 15
5.1.2. USB Communication API............................................................................................ 15
5.1.3. USB Communication Issues....................................................................................... 17
5.2. DEVICE NUMBER................................................................................................................... 17
5.3.WINDOWS GUI..................................................................................................................... 17
6. GENERAL OPERATION OVERVIEW...................................................................................... 18
6.1. MOTION PROFILE.................................................................................................................. 18
6.2. MOTOR POSITION ................................................................................................................. 19
6.3. MOTOR POWER.................................................................................................................... 19
6.4. JOG MOVE ........................................................................................................................... 19
6.5. STOPPING ............................................................................................................................ 19
6.6. POSITIONAL MOVES.............................................................................................................. 20
6.7. HOMING ............................................................................................................................... 20
6.7.1. MODE 1: Home Input Only (High Speed Only) .......................................................... 21
6.7.2. MODE 2: Limit Only.................................................................................................... 22
6.7.3. MODE 3: Home Input Only (High Speed and Low Speed)......................................... 23
6.8. LIMITS AND ALARM SWITCH FUNCTION .................................................................................. 23
6.9. MOTOR STATUS.................................................................................................................... 24
6.10. DIGITAL INPUTS /OUTPUTS /CONFIGURATION BUTTON......................................................... 25
6.10.1. Digital Inputs ............................................................................................................. 25
6.10.2. Digital Outputs .......................................................................................................... 25
6.10.3. Configuration Button................................................................................................. 26
6.11. POLARITY........................................................................................................................... 26
6.12. COMMUNICATION TIME-OUT WATCHDOG ............................................................................. 26
6.13. STANDALONE PROGRAM SPECIFICATION.............................................................................. 27
6.13.1. Standalone Program Specification ........................................................................... 27
6.13.2. Standalone Control................................................................................................... 27
6.13.3. Standalone Status..................................................................................................... 27
6.13.4. Standalone Subroutines ........................................................................................... 28
6.13.5. Error Handling........................................................................................................... 28
6.13.6. Standalone Variables................................................................................................ 28
6.13.7. Standalone Run On Boot-Up.................................................................................... 29
6.13.8. WAIT Statement........................................................................................................ 29
6.14. STORING TO FLASH............................................................................................................. 30
7. SOFTWARE OVERVIEW.......................................................................................................... 31
7.1. MAIN CONTROL SCREEN....................................................................................................... 32
7.1.1. Status.......................................................................................................................... 32

ACE-SXC Manual page 4 rev 2.05
7.1.2. Control ........................................................................................................................ 33
7.1.3. Digital Input / Output / Enable..................................................................................... 33
7.1.4. Configuration............................................................................................................... 34
7.1.5. Program File Control................................................................................................... 36
7.1.6. Standalone Program Editor ........................................................................................ 36
7.1.7. Standalone Program Control ...................................................................................... 37
7.1.8. Standalone Program Compile / Download / Upload / View........................................ 37
7.1.9. Setup........................................................................................................................... 38
7.1.10. Terminal.................................................................................................................... 39
7.1.11. Variable Status.......................................................................................................... 39
8. DMX AND ACE CONFIGURATION.......................................................................................... 40
8.1. CONFIGURATION METHOD #1 –USING WINDOWS PC............................................................. 40
8.2. CONFIGURATION METHOD #2 –USING THE CONFIGURATION BUTTON ..................................... 40
9. ASCII LANGUAGE SPECIFICATION ...................................................................................... 42
9.1. ASCII COMMAND SET........................................................................................................... 42
9.2. ERROR CODES ..................................................................................................................... 44
10. STANDALONE LANGUAGE SPECIFICATION..................................................................... 45
10.1. STANDALONE COMMAND SET.............................................................................................. 45
10.2. EXAMPLE STANDALONE PROGRAMS .................................................................................... 47
10.2.1. Standalone Example Program 1 – Single Thread.................................................... 47
10.2.2 Standalone Example Program 2 – Single Thread..................................................... 47
10.2.3 Standalone Example Program 3 – Single Thread..................................................... 48
10.2.4. Standalone Example Program 4 – Single Thread.................................................... 48
10.2.5. Standalone Example Program 5 – Single Thread.................................................... 49
10.2.6. Standalone Example Program 6 – Single Thread.................................................... 50
10.2.7. Standalone Example Program 7 – Multi Thread....................................................... 51
10.2.8. Standalone Example Program 8 – Multi Thread....................................................... 52
A: SPEED SETTINGS................................................................................................................... 53
A.1 ACCELERATION/DECELERATION RANGE.................................................................................. 53
A.2 ACCELERATION/DECELERATION RANGE –POSITIONAL MOVE .................................................. 53

ACE-SXC Manual page 5 rev 2.05
1. Introduction
ACE-SXC is a stepper controller motion product.
Communication to the ACE-SXC can be established over USB. It is also
possible to download a standalone program to the device and have it run
independent of a host.
Windows and Linux drivers, as well as a sample source code, are available to aid
you in your software development.
1.1. Features
- USB 2.0 communication
- Standalone programmable
- Opto-isolated I/O
•3 x inputs
•2 x outputs
•+Limit/-Limit/Home inputs
- 1 x alarm input (TTL)
- Open-collector outputs
•Pulse, Direction, Enable
- Homing routines:
•Home input only (high speed)
•Home input only (high speed + low speed)
•Limit only
- 400 KHz maximum pulse rate output
- 12-48VDC voltage input
- DMX-K-DRV, DMX-A2-DRV and ACE-SDX driver configuration
For technical support contact: support@arcus-technology.com.
Or, contact your local distributor for technical support.

ACE-SXC Manual page 6 rev 2.05
2. Electrical and Thermal Specifications
Parameter
Min
Max
Units
Main Power Input
1
+12
+48
V
-
200
mA
Opto-supply Power Input
+12
+24
V
Digital Input Forward Diode Current
-
45
mA
Digital Output Collector Voltage
-
+24
V
Digital Output Source Current
-
45
mA
Alarm Input
+0
+5
V
Operating Temperature2
0
+80
°C
Storage Temperature2
-65
+150
°C
Table 2.0
1The supply current should match the driver current setting.
2Based on component ratings.

ACE-SXC Manual page 7 rev 2.05
3. Dimensions
Figure 3.0
†All dimensions in inches

ACE-SXC Manual page 8 rev 2.05
1
4. Connections
In order for ACE-SXC to operate, it must be supplied with +12VDC to +24VDC.
Power pins as well as communication port pin outs are shown below.
4.1. 2-Pin Power Connector (5.08mm)
Figure 4.0
Pin #
Name
In/Out
Description
1
GND
I
Ground
2
PWR
I
Power Input +12 to +48 VDC
Table 4.0
Mating Connector Description: 2 pin 0.2” (5.08mm) connector
Mating Connector Manufacturer: On-Shore
Mating Connector Manufacturer Part: †EDZ950/2
† Other 5.08mm compatible connectors can be used.
4.2. DB9 Connector
Figure 4.1
Pin #
Name
In/Out
Description
1
PWR_OUT
O
Shorted to pin 2 (PWR) of the 2-pin 5.08mm
connector
2
PUL
O
Pulse output (open-collector)
3
ENA
O
Enable output (open-collector)
4
ALM
I
Alarm input (TTL)
5
5V+
O
+5VDC. Typically used for the opto-supply on the
driver interface
6
GND_OUT
O
Shorted to pin 1 (GND) of the 2-pin 5.08mm
connector
7
DIR
O
Direction output (open-collector)
6
5
9

ACE-SXC Manual page 9 rev 2.05
8
RV
RV
Reserved. Do not connect
9
5V+
O
Shorted to pin 5
Table 4.1
4.3. 10-Pin DIO Connector (3.81mm)
Figure 4.2
Pin #
Name
In/Out
Description
1
DO2
O
Digital Output 2
2
DO1
O
Digital Output 1
3
DI3
I
Digital Input 3
4
DI2
I
Digital Input 2
5
DI1
I
Digital Input 1
6
HM
I
Home Input
7
-L
I
Minus Limit Input
8
+L
I
Plus Limit Input
9
NC
NC
Not Connected
10
OPTO
I
Opto-supply input (+12 to +24VDC)
Table 4.2
Mating Connector Description: 10 pin 0.15” (3.81mm) connector
Mating Connector Manufacturer: On-Shore
Mating Connector Manufacturer Part: †EDZ1550/10
† Other 3.81 compatible connectors can be used

ACE-SXC Manual page 10 rev 2.05
4.4. ACE-SXC Interface Circuit
Figure 4.3

ACE-SXC Manual page 11 rev 2.05
4.5. Power Input
Figure 4.4 shows that the power and ground signals that are supplied to ACE-
SXC through the 2 pin connector are also available through the DB9 pin
connector.
Regulated Supply Voltage Range: +12 to 48 VDC
Recommended Current for power supply: †200 mA
† If driver is powered through the DB-9, additional current is required to power
the driver.)
Figure 4.4
WARNING: If the driver is powered through the DB9 connector, make sure that
the voltage of the power supply does not go over the maximum rated power
supply voltage of the driver. For example, if a driver’s maximum allowed voltage
is +24VDC and the ACE-SXC is powered by +48VDC, powering the driver
through the DB9 connector will damage the driver.

ACE-SXC Manual page 12 rev 2.05
4.6. Pulse, Direction and Enable Outputs
The Pulse, Direction, and Enable outputs are all open collector outputs. Figure
4.5 shows the detailed schematic for these outputs. Each output is capable of
sinking up to 45mA of current.
Figure 4.5
Figure 4.6 shows an example wiring diagram between the pulse, direction, and
enable outputs on the ACE-SXC and the corresponding input on a typical stepper
driver.
Figure 4.6

ACE-SXC Manual page 13 rev 2.05
4.7. Alarm Input
Alarm input is a TTL compatible input using the 74LS07.
Figure 4.7 shows an example wiring of the alarm signal
Figure 4.7
4.8. Digital Inputs, Limits, and Home
Figure 4.8 shows the detailed schematic of the opto-isolated general purpose
digital inputs, limits, and home. All opto-isolated inputs are NPN type.
Figure 4.8

ACE-SXC Manual page 14 rev 2.05
The opto-supply must be connected to +12 to +24 VDC in order for the limit,
home, and digital inputs to operate.
When the digital input is pulled to ground, current will flow from the opto-supply to
ground, turning on the opto-isolator and activating the input.
To deactivate the input, the digital input should be left unconnected or pulled up
to the opto-supply, preventing current from flowing through the opto-isolator.
4.9. Digital Outputs
Figure 4.9 shows an example wiring of the digital outputs. All opto-isolated
digital outputs will be PNP type.
Figure 4.9
The opto-supply must be connected to +12 to +24 VDC in order for the digital
outputs to operate.
When activated, the opto-isolator for the digital output pulls the voltage on the
digital output line to the opto-supply. The maximum sink current for digital
outputs is 45mA. Take caution to select the appropriate external resistor so that
the current does not exceed 45mA.
When deactivated, the opto-isolator will break the connection between the digital
output and the opto-supply.

ACE-SXC Manual page 15 rev 2.05
5. Communication Interface
5.1. USB Communication
ACE-SXC USB communication is 2.0 compliant.
In order to communicate with ACE-SXC via USB, the proper software driver must
first be installed. Before connecting the ACE-SXC controller, or running any
programs, please go to the Arcus-Technology website, download the Arcus
Drivers and Tools Setup, and run the installation.
All USB communication will be down using an ASCII command protocol.
5.1.1. Typical USB Setup
The ACE-SXC can be connected to a PC directly via USB or through a USB hub.
All USB cables should have a noise suppression choke to avoid communication
loss or interruption. See a typical USB network setup in Figure 5.0 below.
Figure 5.0
5.1.2. USB Communication API
Communication between the PC and ACE-SXC is done using the Windows
compatible DLL API function calls shown below. Windows programming
languages such as Visual BASIC, Visual C++, LabVIEW, or any other
programming language that can use a DLL can be used to communicate with the
ACE-SXC.
Typical communication transaction time between PC and ACE-SXC for sending a
command from a PC and getting a reply from the controller using the

ACE-SXC Manual page 16 rev 2.05
fnPerformaxComSendRecv() API function is in single digit milliseconds. This
value will vary with the CPU speed of the PC as well as the type of command.
For USB communication, the following DLL API functions are provided.
BOOL fnPerformaxComGetNumDevices(OUT LPDWORD lpNumDevices);
- This function is used to get total number of all types of Performax and
Performax USB modules connected to the PC.
BOOL fnPerformaxComGetProductString(IN DWORD dwNumDevices,
OUT LPVOID lpDeviceString,
IN DWORD dwOptions);
- This function is used to get the Performax or Performax product string.
This function is used to find out Performax USB module product string
and its associated index number. Index number starts from 0.
BOOL fnPerformaxComOpen(IN DWORD dwDeviceNum,
OUT HANDLE* pHandle);
- This function is used to open communication with the Performax USB
module and to get communication handle. dwDeviceNum starts from
0.
BOOL fnPerformaxComClose(IN HANDLE pHandle);
- This function is used to close communication with the Performax USB
module.
BOOL fnPerformaxComSetTimeouts(IN DWORD dwReadTimeout,
DWORD dwWriteTimeout);
- This function is used to set the communication read and write timeout.
Values are in milliseconds. This must be set for the communication to
work. Typical value of 1000 msec is recommended.
BOOL fnPerformaxComSendRecv(IN HANDLE pHandle,
IN LPVOID wBuffer,
IN DWORD dwNumBytesToWrite,
IN DWORD dwNumBytesToRead,
OUT LPVOID rBuffer);
- This function is used to send commands and receive replies. The
number of bytes to read and write must be 64 characters.
BOOL fnPerformaxComFlush(IN HANDLE pHandle)
- Flushes the communication buffer on the PC as well as the USB
controller. It is recommended to perform this operation right after the
communication handle is opened.

ACE-SXC Manual page 17 rev 2.05
5.1.3. USB Communication Issues
A common problem that users may have with USB communication is that after
sending a command from the PC to the device, the response is not received by
the PC until another commands is sent. In this case, the data buffers between
the PC and the USB device are out of sync. Below are some suggestions to help
alleviate the issue.
1. Buffer Flushing: If USB communication begins from an unstable state (i.e.
your application has closed unexpectedly), it is recommended to first flush
the USB buffers of the PC and the USB device. See the following function
prototype below:
BOOL fnPerformaxComFlush(IN HANDLE pHandle)
2. USB Cable:Another source of USB communication issues may come
from the USB cable. Confirm that the USB cable being used has a noise
suppression choke. See Figure 5.1.
Figure 5.1
5.2. Device Number
If multiple ACE-SXC devices are connected to the PC, each device should have
a unique device number. This will allow the PC to differentiate between multiple
controllers. In order to make this change to an ACE-SXC, first store the desired
number using the DN command. Note that this value must be within the range
[SXC00 – SXC99].
To write the values to the device’s flash memory, use the STORE command.
After a complete power cycle, the new device number will be written to memory.
Note that before a power cycle is completed, the settings will not take effect.
By default: Device name is set to: SXC00
5.3. Windows GUI
The ACE-SXC comes with a Windows GUI program to test, program, compile,
download, and debug the controller. The Windows GUI will perform all
communication via USB . See section 7 for further details.

ACE-SXC Manual page 18 rev 2.05
6. General Operation Overview
Important Note: All the commands described in this section are defined as
ASCII or standalone commands. ASCII commands are used when
communicating over USB. Standalone commands are used when writing a
standalone program onto the ACE-SXC.
6.1. Motion Profile
By default, the ACE-SXC uses a trapezoidal velocity profile as shown in Figure
6.0.
Figure 6.0
Once a typical move is issued, the axis will immediately start moving at the low
speed setting and accelerate to the high speed. Once at high speed, the motor
will move at a constant speed until it decelerates from high speed to low speed
and immediately stops.
High speed and low speed are in pps (pulses/second). Pulse output rate
supported is from 100 to 400K pps. Use ASCII commands HSPD and LSPD to
set/get high speed and low speed settings. The same commands will be used in
standalone mode.
Acceleration times are in milliseconds. Use the ACC command to set/get
acceleration values. Acceleration range is from 10 msec to 1000 msec.
ASCII
HSPD
LSPD
ACC
Standalone
HSPD
LSPD
ACC

ACE-SXC Manual page 19 rev 2.05
6.2. Motor Position
The ACE-SXC has a 32 bit signed step position counter. Range of the position
counter is from –2,147,483,648 to 2,147,483,647. Motor position can be read
using the ASCII command PX, which returns the pulse position.
To manually set/get the position of the motor, use the PX=[value] command.
ASCII
PX
Standalone
PX
6.3. Motor Power
The EO command can be used to enable or disable the current to the motor. The
effect of the enable output signal will depend on the characteristics of the motor
drive.
The initial state of the enable output can be defined by setting the EOBOOT
register to the desired initial enable output value. The value is stored to flash
memory once the STORE command is issued.
ASCII
EO
EOBOOT
Standalone
EO
-
6.4. Jog Move
A jog move is used to continuously move the motor without stopping. Use the
J+/J- command when operating in ASCII mode and the JOGX+/JOGX- in
standalone mode. Once this move is started, the motor will only stop if a limit
input is activated during the move or a stop command is issued.
If a motion command is sent while the controller is already moving, the command
is not processed. Instead, an error response is returned. See table 9.1 for
details on error responses.
ASCII
J[+/-]
Standalone
JOGX[+/-]
6.5. Stopping
When the motor is performing any type of move, motion can be stopped abruptly
or with deceleration. It is recommended to use decelerated stops so that there is
less impact on the system. Use the ABORT(ASCII) or ABORTX(standalone)
command to immediately stop the motor. To employ deceleration on a stop, use
the STOP (ASCII) or STOPX (standalone) command to stop the motor.
ASCII
ABORT
STOP
Standalone
ABORTX
STOPX

ACE-SXC Manual page 20 rev 2.05
6.6. Positional Moves
The ACE-SXC can perform positional moves in absolute or incremental mode.
For absolute mode, the ABS command should be used and, for incremental
mode, the INC command should be used. These commands should be sent
before the move command is issued. The move mode will remain in absolute or
incremental mode until it is changed. The MODE command can be used to read
the current move mode.
Return Value
Description
0
ABS (Absolute)
1
INC (Incremental)
Table 6.0
In absolute mode, the axis will move by the specified target position. In
incremental mode, the axis will increase or decrease its current position by the
specified target position.
Use the Xcommand to make moves. For example, the X1000 command will
move the axis to position 1000 if performed in absolute mode.
The maximum allowable difference to target position from current position is
262,143. Maximum difference between current position and the target position
has to be less than or equal to 262,143. For example, if the current position
counter is 1000, target position allowed will be between -261,143 (1,000 –
262.143) and 263,143 (1,000 + 262,143).
Note: If a motion command is sent while the controller is already moving, the
command is not processed. Instead, an error response is returned.
ASCII
ABS
INC
MODE
X[target]
Standalone
ABS
INC
-
X[target]
6.7. Homing
Home search routines involve moving the motor and using the home or limit
inputs to determine the zero reference position. The zero reference position will
be preserved as the position is marked when the home trigger is detected. If a
motion command is sent while the controller is already moving, the command is
not processed. Instead, an error response is returned. See table 9.1 for details
on error responses.
The ACE-SXC has three different homing routines. The syntax for the home
command in ASCII and standalone mode can be found below.
Other manuals for ACE-SXC
2
Table of contents
Other Arcus Controllers manuals
Popular Controllers manuals by other brands

AMX
AMX NXA-WAPZD1100 quick start guide

Boston Acoustics
Boston Acoustics GT-RSL install guide

Allen-Bradley
Allen-Bradley PowerFlex 70 Reference manual

Curtiss-Wright
Curtiss-Wright EXLAR Tritex II AC Installation and service manual

CVS Controls Ltd.
CVS Controls Ltd. 627R instruction manual

Draganfly
Draganfly HHC user manual