Skip to main content

1. INTRODUCTION

This chapter provides an overview of the Copley ASCII Interface, a set of commands that can be sent by an external controller to operate and monitor Copley Controls amplifiers.

1.1: The Copley ASCII Interface

The Copley ASCII Interface is a set of ASCII format commands that can be used to operate and monitor Copley Controls Accelnet, Stepnet, and Xenus series amplifiers over an RS-232 serial connection.
For instance, after basic amplifier configuration values have been programmed using CME 2, a control program can use the ASCII Interface to:
• Enable the amplifier in Programmed Position mode.
• Home the axis.
• Issue a series of move commands while monitoring position, velocity, and other run-time variables.
Commands and Variables
Some of the ASCII Interface commands read, write, and copy the values of a set of amplifier variables.
Some of these variables are used to control and monitor the amplifier’s operating modes and states. For instance, variable 0x24, the “amplifier desired state” variable, is used to enable the amplifier in one of a variety of operating modes. Other variables are used to monitor run-time information.
Not all commands affect amplifier variables directly. For instance, the reset (r) command causes the amplifier to reset immediately, and the trajectory (t) command initiates and aborts moves.
RAM and Flash Memory Banks
Variables are maintained in the amplifier’s RAM memory, flash memory or in both RAM and flash memory. When using commands to read, write, or copy variables, it is necessary to specify a memory bank.
Unlike flash values, RAM values are cleared with each amplifier reset. Any RAM variable with a flash counterpart is then written with the flash value. Thus, if the desired startup value is stored in flash, the external program need not write the RAM value on startup. For instance, if the desired initial Position Loop gains and limits were saved to flash using CME 2, these values would automatically be loaded into RAM on startup.
Any RAM value with no flash counterpart remains clear until updated by an external program or by a change in the value watched by the variable. For instance, the actual current variable (0x0c) updates to match the actual current value. 

1.2: Communication Protocol

The protocol used is of the “speak when spoken to” variety. The amplifier will never initiate communications, but will always respond to commands with an acknowledgment, a returned value, or an error code.
The baud rate of the amplifier will always be set to 9600 on power up or after a reset. Also, Copley amplifiers are designed to identify a break command on the serial port. A serial break command is normally an illegal condition in which the system initiating the break command holds its transmitting serial line low for longer then a single byte of serial data. If such a condition is detected by the amplifier, it will flush any pending input data, reset the amplifier’s baud rate to 9600, and wait for a new command to be received on its serial port. The amplifier will never initiate a break command itself.
Use the following protocol for Copley ASCII Interface communications: 

image.png