Parker / Acroloop PC-ACRIBM

Artisan Technology Group is your source for quality
new and certified-used/pre-owned equipment
• FAST SHIPPING AND
DELIVERY
• TENS OF THOUSANDS OF
IN-STOCK ITEMS
• EQUIPMENT DEMOS
• HUNDREDS OF
MANUFACTURERS
SUPPORTED
• LEASING/MONTHLY
RENTALS
• ITAR CERTIFIED
SECURE ASSET SOLUTIONS
SERVICE CENTER REPAIRS
Experienced engineers and technicians on staff
at our full-service, in-house repair center
WE BUY USED EQUIPMENT
Sell your excess, underutilized, and idle used equipment
We also offer credit for buy-backs and trade-ins
www.artisantg.com/WeBuyEquipment
InstraView REMOTE INSPECTION
LOOKING FOR MORE INFORMATION?
Visit us on the web at www.artisantg.com for more
information on price quotations, drivers, technical
specifications, manuals, and documentation
SM
Remotely inspect equipment before purchasing with
our interactive website at www.instraview.com
Contact us: (888) 88-SOURCE | sales@artisantg.com | www.artisantg.com
Chapter 3 SJ1stem Interface
This chapter de.scribes the location and pinouts for the various interface connectors on the ACR1000.
Block Diagram ACR1000/12
24 VDC
24
vee
Opto-isolatecDpto-isolated
Used for
Serial Communication
t
Interpolation
Handshake
Digital
Inputs
~
P4
Digital
Aux
Outputs
Position
t ~_Feec:back_8
P3
I (fU
ACR 1000/12
X-AXIS
t
AMPLIFIER
Power Plug
+5, +12, -12
(for use in standalone operation)
Used for
Parallel Communication
ACR1000/12 PLUG INTERFACE
Block Diagram ACR1000/16
The follOwing diagram shows the plug interface for the ACR1 000/16 controller. This board can be
configured for 1-Axis operation with Software v3.x, 4.x or for 2-Axis operation with Software vS.x
V-AXIS
Convnand
Signal
Used for
Serial Communication
Slave
Master
-
-
Position
feedback
t
Interpolation
Handshake
]
AMPLIFIER
ACR 1000/16
!
Power PLg
+5, +12. -12
X-AXIS
AMPLIFIER
Used for
Parallel Communication
(for use in standalone ~~raboI~'''"n)
ACR1000/16 PLUG INTERFACE
7
Chapter 3, System Interface
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
11
Plug Definitions
There are several plugs and option jumpers located on the board that have to be considered when
installing the board in Cl system.
They are as follows:
Encod~!r Signals
Drive ~lIlalogl'Natchdog. User Relays
12 User Outputs
12 User Inputs
Aux DAC Output (ACR100OJ16 Only)
RS232
Master Axis for Interpolation Handshake
Slave .loos of Interpolation. (ACR1000116 Only)
Aux Encoder. Handwheef Input
_
+5v. GND. +12. -12 (Not used with PC BUSS (ISA bus) interface}
SeriaVParaliei Port Selection Jumper
BAUD I~ate Selection Jumpers
Card Address Selection Jumpers
PC BUSS (ISA bus) Address (ACR1000/12 Only)
P1
P2
P3
P4
P5
P6
P7
P8
P9
PWR
JS1-1
JS1 :2-4
JS1:5-8
JS2:1-8
Pi.
Encoder Signals.
1.
2.
3.
4.
5.
6.
7.
8.
9.
P2.
Analog Drive
1.
2.
3.
4.
5.
6.
P3-;
Channel A (chA)
Channel A not (chA not)
Channel 8 (chB)
Channel 8 not (ch8 not)
Marker (M)
Marker not (M not)
+5v for encoder.
Ground for encoder.
Key(n/c)
Si~)nal
Drive ±10volt analog
Drive analog ground.
USER11 (RELAY# 117) N.C.
USER11 (RELAY# 117)COMM.
Watchdog relay N.O.
Watchdog relay COMM.
7.
Key(n/c)
8.
9.
USER11 (RELAY# 117)N.O.
Watchdog N.C.
User-Defined Outputs
2: - ~ output#12
4.
output#13
6.
outPut#14
8.
outJ?ut#15
10.
output#1d
12.
output#17
14.
output#18
16.
output#19
18.
output#20
20.
output#21
22.
output#22
24.
output#23
_
25.26. EXTERNAL ISOLATED VOLTAGE (+24VOLTS).
1.3.5.7.9.11.13.15.17,19,,21,23. [ISOLATED GROUND.]
1
ACR1000 Users Guide
8
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
11
P4.
User-DefinE~d
Inputs
2.
INPUT~)
4.
INPUT#'I
6.
INPUT#:2
8.
INPUT#:~
10.
INPUT#4'
12.
INPUT~)
14.
INPUT~)
16.
INPUT#J
18.
INPUT~~
20.
INPUTmJ
22.
INPUT#"IO
24.
INPUT#"11
25,26 External Isolated VoHage [+24 VOLTS].
1,3,5,7,9,11,13,15,17,19.21.23 [ISOLATED GROUND.]
P5.
ACR1000/16 AUX DAC Output
1.
2.
3.
4-10.
+/-10Von Signal.
N.C.
Analog GND.
N.C.
NOTE: This plug can be used in conjunction with a PSD Cable assembly. In this case, the pin outs are
PSD-1. +/- 10V Signal.
PSD-2. Signal GND.
PSD-3-9. N.C.
P6. RS-232 Port Plug
1.
2.
3.
4.
Receive Data In (Data To ACR1000)
Transmit Data Out (Data From ACR1000)
Ground
Transmit Data In -For Multiaxis Applications. [Transmit Data From Next Higher Address Board
Should Be Wired To This Pin.]
P7. Interpolation Handshake Plug
Use Supplied INTERPOLATION CABLE assembly.
•
•
ACR1000/12:
PLUG CABLE assembly Swap Pins x and x and x x.
Goes from P7 of Master Axis to P7 of all Slave Axes.
•
•
ACR100()/16:
PLUG CABLE ASSY is a 1 to 1 Cable.
Goes from P7 of Master Axis to P8 of all Slave Axes.
P8. Interpolation Handsha'ke For Slave Axes
ACR1000/16 only
Use Supplied INTERPO.LATION CABLE ASSY.
9
Chapter 3, System Interfa'ce
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
11
P9. Aux Encoder Handwheel Input Plug. (PC-ACRIBM-03 and later)
1.
chA
MARKER Complement
chA C()mplement
4.
+5V
5.
chB
6.
GND
7.
chB C()mplement
8.
N.C
9.
MARKER
10.
N.C
NOTE: P9 is designed to work in conjunction with a 10 pin ribbon cable terminated in a standard 9 pin
female 'D' plug. When used in this manner. the D-plug pinout is identical to encoder plug,.P1.
2.
3.
Pi0. PC BUSS (ISA bus) Interface
This is a standard 8-bit PC-XT/AT bus connector. Refer to PC-XT/AT technical manual for details. See
Chapter 5 for more information regarding the PC BUSS (ISA bus) interface.
Power Plug
Note:
1.
2.
3.
4.
this plug is not used for PC BUSS (ISA bus) applications.
GROUND.
+5 VOLTS.
-12VOLTS.
+12VOLTS.
For the following jumpers, orient the card so that plugs P1, P2 are on the right and the PC BUSS (ISA bus)
connector is on the bottom. jumpers are considered in the ON poSition when they are shorting the top two
pins. Jumpers are consiidered OFF when they are shorting the bottom two pins. If necessary, refer to the
drawing at the end of the manual for more detail.
JSi-i Serial/PC BUSS (ISA bus) Selection
JS1-1
ON
OFF
MODE
PC BUSS (ISA bus)
RS-2:32
JS1 :2-4 BAUD Rate Jumpers
JS1-2
ON
ON
ON
ON
OFF
OFF
OFF
OFF
-
JS1-3
ON
ON
OFF
OFF
ON
ON
OFF
OFF
JS1-4
ON
OFF
ON
OFF
ON
OFF
ON
OFF
BAUD
9600
9600 9600
4800
2400
1200
600
300
This setting a150 Signals the N 8 1'mode on newer 116 firmware versions.
ACR1000 Users Guide
10
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
11
JS1 :5-8: Card Address Jumpers
JS1-5
ON
ON
ON
ON
ON
ON
ON
ON
OFF
OFF
OFF
OFF
OFF
OFF
OFF
OFF
JS1-6
ON
ON
ON
ON
OFF
OFF
OFF
OFF
ON
ON
ON
ON
OFF
OFF
OFF
OFF
JS1-7
ON
ON
OFF
OFF
ON
ON
OFF
OFF
ON
ON
OFF
OFF
ON
ON
OFF
OFF
JS1-8
ON
OFF
ON
OFF
ON
OFF
ON
OFF
ON
OFF
ON
OFF
ON
OFF
ON
OFF
CARDADDR. #
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
o
JS2:1-8 PC BUSS (ISA bus) Base Address Select (ACR1000/12 Only)
JS2
8
7
6
5
4
3
2
1
BASE ADDRESS
0300H
0304H
0308H
030CH
0310H
:Q314H
10318H
031CH
11
Chapter 3, System Interface
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
11
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
Chapter 4 The ACR1 000 Serial (RS232) Port
The user has the~ option of communicating with the ACR1000 through either the RS-232 serial port or the
PC BUSS (ISA bus) parallel interface. The RS-232 port provides a convenient interface to the ACR1ooo,
requiring only a simple three-wire connection to a dumb tenninal or a PC running communication software.
This interface allows the ACR1000 chassis to be mounted up to 50 feet from the terminal or host
computer.
For applications requiring an intelligent controller, a single RS-232 port can control up to 16 axes. Multiple
axes may be connected to a single RS-232 line by daisy-chaining the serial ports of each ACR1000 card
(see chapter 3 for signal details), creating a serial bus. Commands may be specifically directed to a single
axis or broadcast to a group of axes. The ACH30XO chassis has the necessary ~ri_og to daisy-chain up to
3 axes. Multiple ACH-3000's can be wired together for up to 16 axes on a single line.
RS-2l2 Configuration
The RS-232 port is set to a standard configuration when the card is shipped. This standard configuration is
as follows:
BAUD
DATA BITS
STOP BIITS
PARITY
9600
(jumper configurable)
(fixed*)
(fixed)
(fixed*)
7
1
ODD
* one of the' 9600 baud selections also selects N 8 1 mode on newer 116 versions.
Before going further, make sure all the JS1 jumpers are set properly. For serial communication JS1:1
must be off. If needed, the baud rate can be changed via JS1 :2-4. The card address, which is factory set
for 0 on a 1-axis system. can be changed via JS 1:5-8. These are set at 0000 for the first axis. 0001 for the
second axis ... etc.
JS1- Jumper Selection
Serial
ON
jBAUD
I
I
l
Card Address
l
Parallel
I
1
1
I
I
I
I
I
I
I
I
I
1.1 I
I
I
JS1 Jumper Settings
JS1-1 = ·1 ON selecting the card for PC BUSS (ISA bus) operation.
JS1-2 = "ION
JS1-3 = () OFF
JS4-4~"1 ON JS1-2,3,4 HAVE 9600 BAUD SELECTED.
'
JS1-S = () OFF
JS1-6 = () OFF
JS1-7 = () OFF
JS1-8 = () OFF JS1-S,6,7,8 HAVE CARD ADDRESS a SELECTED.
Echo Control
In the parameter table. P1 co~trols whether the ACR1000 will echo characters received by it. Setting P1 to
o (P1=O) will cause the ACR1000 to suppress the echo (half-duplex) but allow the ACR1000 to output any
necessary messages. P1 =1 enables echo (full duplex). P1 =2 will disable any output from the card; only
responses from status requests will be output. If the ACR1000 is being commanded with a terminal, set the
tenninal to full duplex and the ACR1000 to full duplex (P1=1). For applications involving a host computer,
general output frc,m the card should be disabled (P1 =2) since infonnation coming from the card (but not
expected by the host program) will fill up communications buffers and cause confusion at the receiving
Chapter 4, ACR1000 Sen~al (RS232) Port
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
13
end.
If the card address is set to 0, the card will power-up in the full duplex mode (P1=1). For all other
addresses, the cards power up in the output disabled (P1 =2) mode and will only echo once P1 is set equal
to 1.
For details on setting parameters, refer to chapter 6.
Communication Buffer
As the commands are received by the ACR1000 they are stored in a circular buffer. This buffer is 256
bytes long. If commands are entered into the ACR1000 board faster than the board can process them, the
buffer may become fuill. Once this happens, before the buffer can overflow, the board sends out an XOFF
character (hex 13). Th«! host should stop sending data immediately. When buffer space becomes
available, the board issues an XON character (hex 11), and the host can resume sending-data. H is
important that any communication software used with the ACR1OO0 be capable of properly responding to
these XONIOFF characters. Failure to do so may resuH in lost characters and erratic operation.
When the ACR1000 card receives a command it is queued in the communications buffer until the
processor can execute it. Commands involving moves are quickly processed and then execution of the
move is done in the background. The CPU will then process the next command. If it is an immediate
command, i.e. SET 12, then this command will be done and the next command in the queue will be
processed. If another move command is encountered then the first move will be completed before the
second is started. For example, if the commands
MOV 10000
SET 12
MOV 0
were sent to the ACR1000, the ACR1 000 would start the move to position 10000 and almost immediately
tum on output 12. Immediately after the move to 10000 was completed the move back to a would be
started. If, on the other hand the commands
MOV 10000
MOV a
SET 12
were sent, the output 12 would be set immediately after the move back to zero had been started. This can
be a handy technique for Signaling a host computer that a move has been completed.
Common Problems With Getting An RS232 Connection Working
There can be difficulties cofTlmonly encountered when setting up RS-232 communications. To resolve a
problem, ask yourself the following questions:
Are the XMIT, ReV, and GND connections made properly?
A quick way to check this is to verify the voltages on these lines. XMIT from the tenninaUhost should
connect to RCVon the ACR1000 and vice versa. An RS-232 signal at idle should sit at approximately 10V with respect to GNID. Some devices such as the TRS-80 Model 100 only prOduce a -SV signal, so look
for -SV if using one. If XMIT and RCV are swapped, the voltage on one or both of these Signals will be
lower than nonnal. If all else fails, just reverse XMIT and RCV and try again.
Does your communicCltions setup require handshake lines to be used?
Many RS-232 pOrts require that the signals DCD, DSR, and CTS are active (pulled high) in order for
communication to occur. Since the ACR1000 provides only a 3-wire interface, these signals are not
provided. If this presents a problem, wire pins 5,6,8 and 20 together on the end of the RS-232 cable that
connects to the PC.
.
Are the communications parameters the same as the ACR1000 settings?
If these are incorrectly set, you may see garbage, echoed, or no communication at all. The tenninal
settings for these parameters MUST exactly m9tch those set on the ACR1 000. Refer to the previous
section on ACR1 000 configuration for details.
ACR1000 Users Guide
14
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
11
Are some characters occasionally dropped (not echoed?)
If your communication software does not support the XONIXOFF protocol properly,lost charaders may be
the result. When just typing in commands there may be no problem, but for uploading/downloading
programs to/from the ACR1000, failure to support this protocol will result in disaster. Reducing baud rate
may help, but it is best to ensure that your software supports this fundion property.
loading And listing Of Programs On The ACR1000
With larger programs, it may be preferable to use the editing facilities of a word processor to write a
program and then send the program to the ACR1000 via the RS-232 port. Some word processors, i.e.
Word Star, include control charaders within the text of files. These control charaders may be hannless
when uploaded t~o the ACR1000, but could potentially cause trouble. To be on the safe side save the
program as text I)r ASCII only. If a program is already loaded in the ACR1000 caR!..type NEW to dear it
before loading a new program (see NEW, chapter 7 . Once the file exists and the RS-232 connedion is
established, uploading it to the ACR1000 is Just a matter of telling the communications software to upload
the file. To capture a program in the ACR1000 memory, perhaps to save it to disk, seiad "download" or
"capture" within ),our communications program, then type LIST. The ACR1000 will begin sending the
contents of program memory out the serial port. When the listing has completed, tenninate the download
or capture using 1the method your system requires. You will now have a text file suitable for archiving, reediting, or printin~g.
Chapter 4, ACR1000 Serial (RS232) Port
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
15
11
ACR1000 Users Guide
16
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
11
Chapter 5 The ACR1000 PC BUSS (ISA bus) Interface
The user has thE! option of communicating with the ACR1000 through either the R5-232 serial port or the
PC BUSS (ISA bus) parallel interface. The PC BUSS (1SA bus) interface has a definite advantage in
speed of communication and overall throughput of command information. For Interpolated motion
requiring very high throughput, several commands have been adapted that will only function with the PC
BUSS (ISA bus) interface. Also, since each card represents a discrete group of VO addresses to the PC,
each card can be addressed directly. Multiaxis systems benefit from not having to use the control
character ON and OFF commands (ctrl-A and ctr1-B) required with the R5-232 port.
To use the card iin the IBM PCfXJ/AT environment requires more work on the PC end of things. However,
AMCS provides ;an excellent demo program, AcroGEN, that will allow the user.to ~mply install the
ACR1000 cards in the PC and issue commands. The program has many of the same features of standard
communications programs as well as a continuous display of card status, and support for a subset of the
RS-2740 standard.
Setting Jumpers Before Getting Started
Before using the card make sure all the jumpers are set properly. If the card is shipped from the factory for
PC operation, there should be no need to make any changes.
In order to use the PC BUSS (ISA bus) at all, JS1:1 must be in the on position. The card address, which is
factory set for 0 on a 1-axis system, is set by JS1 :5-8. These are set at 0000 for the first axis, 0001 for the
second axis... etc:. For aU jumpers, OFF = 0 and ON = 1 . On then ACR1000/12 Card, in addition to the
card address, JS2:1-8 must be set properly~ The following table explains:
CARD ADDRESS
o (First)
1 (Second)
2 (Third}
3 (Fourth)
4 (Fifth)
5 (Sixth)
6 (Seventh)
7 (Eighth)
JS2 JUMPER POSITION
8
7
6
5
4
3
2
1
PORT ADDRESS
300-303
304-307
308-308
30C-30F
310-313
314-317
318-318
31C-31F
For the ACR1000/16 the port addresses are automatically derived from the card address setting on JS1.
Echo Control
In the parameter table, P1 controls whether the Acroloop will echo characters received by it. Setting P1 =0
will disable echo (HALF-DUPLEX), but allow the Acroloop to output any necessary messages. P1=1
enables echo (FULL DUPLEX). P1 =2 will disable any output from the card: only responses from status
requests will be output. For PC BUSS (ISA bus) applications, it is strongly recommended that general
output from the card be disabled (P1 =2).
If the card address is 0, the card will power-up in the full duplex mode (P1=1). For all other addresses, the
cards power up in the output disabled (P1 =2) mode and will only echo once P1 is set equal to 1.
For more details on setting patameters, refer to chapter 6.
Communications Buffer
As commands are entered, they go into a circular buffer. This buffer is 256 bytes long. If commands are
entered into the ACR1000 board faster than the board can process them, the buffer may become full.
Once this occurs, before the buffer can overflow, the board sends out an XOFF character (hex 13). The
host should stop sending data immediately. When buffer space becomes available, the board issues an
XON character (hex 11), and the host can resume sending data. It is important that the program written to
command the ACR1000 be capable of proper1y responding to these control characters. Failure to do so
may result in lost characters and erratic operation.
Chapter 5, ACR1000 PC·.aUS Interface
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
17
11
PC BUSS (ISA bus) Program Interface
In the IBM PCIXT/AT environment, the ACR1000 card occupies 4 PORT addresses. There is an 8255A-5
(on the ACR1000/12) the card that is used as a an interface between the ACR1000 and the IBM PC.
CARDO represents addresses 0300(PORTA). 0302(PORTC) and 0303 (CONTROL). Data is written and
read from 0300(pORTA), status is read from 0302(PORTC).
The first thing the PC must do before attempting communication with the ACR1000 is to send C3h to
address 303. This sets lip the 8255A-5 properly for bi-directional communication. You will have no need to
write to this port again. Also, doing this is entirely optional on the ACR1000/16.
From this point on, charaders may be sent to the ACR1000 by polling the status port (porte) until the
OK_TO_SEND Signal is set. then writing the charader to the data port (portA). Writing to the data port will
clear the O~TO_SEND bit.
To read a charader from the ACR1000, simply poll the status port until DATA_AVAILABLE is set, then
read the data port (portA). Reading from the data port will clear the DATA_AVAILABLE bit.
The status port (portC) is bit-mapped as follows:
BIT POSITION
7
6
5
4
3
2
1
o
USAGE
OK_TO_SEND
NOT USED
DATA_AVAILABLE
NOT USED
NOT USED
RESET UPIDN COUNT (ACR1000/12 Only)
COUNT UP (ACR1000/12 Only)
COUNT DOWN (ACR1000/12 Only)
Note: that the RESET UP/DOWN COUNT, COUNT UP and COUNT DOWN are inputs to the
ACR1000/12. These can be commanded to set or clear by the PC software.
By sending a HDWON 2 or HDWON 4 command (ACR1 000/12 Only), the axis can be made to follow the
COUNT UP and COUNT DOWN pulses from the PC software. (See chapter 7 HDWON command.)
Preliminary 110 Procedures
The best way to work with the PC BUSS (ISA bus) interface is to write the low-level routines that will
interface with the ACR1 000 on the charader level. Once these charader routines have been written, then
create routines that will send and receive strings to and from these routines. Once this is set up, any
command may be sent tCI, and any status infonnation may be received from, the ACR1000 easily.
See the following pages for an example of "Get Actual Status" implementation. (Turbo C)
ACR1000
Users Guide
18
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
/*
Get Actual Status
*/
#define ACRO STAT ACTUAL 21
#define ACRO-NO ERROR 0
#define ACRo'-TIMEOUT ERROR -1
#define acro data available(axis)
#define acro:=clea~to_send (axis)
(inportb(acro statport[axis])&Ox20)
(inportb(acro=statport[axis])&Ox80)
/*********************************************************/
/*Port assignments
axisO axis1 axis6 axis7
*/
/***********'.**************************************** *****1
int
int
int
int
acro dataport[]
acro=xtrciport []
acro statport[] =
acro=ctrlport[]
Ox300,Ox304,Ox308,Ox30C,Ox310,Ox314,Ox318,Ox31C }i
Ox301, Ox30S', Ox309, Ox30D, Ox311, Ox31S, Ox319, Ox31D } i
Ox302,Ox306,Ox30A,Ox30E,Ox312,Ox316,Ox3~,Ox31E }i
Ox303,Ox307,Ox30B,Ox30F,Ox313,Ox317,Ox31B,Ox31F }i
/***********,~*********************************************/
/*
/*
/*
/*
acroyutchar
*/
*/
Sends a character to an axis after waiting for
the transmit register to empty out.
*/
*/
/~
*/
/*
Returns ACRO TIMEOUT ERROR if unable to send the
*/
/* character, otherwise returns the character c.
*/
/***********i'*********************************************/
int acro putchar(int c, int axis}
{
-
int count=O;
while (!acro clear to send(axis})
if (count.++ >= ACRO_TIMEOUT) return ACRO_TIMEOUT_ERROR;
outportb(acro dataport[axis],c};
return c;
/*********************************************************/
/* acro_getchar
*/
/*
*/
/*
Gets a character from an axis after making sure
*/
/* that something is in the receive register.
*/
/*
*/
/*
Returns ACRO TIMEOUT ERROR if no character is
*/
/* available, otherwise returns the character read
*/
/* from the axis.
*/
/*********************************************************/
int acrO- getchar (int axis)
{
-
int count=O;
while (!acro data avaiiable(axis»
if (count++ >= ACRO TIMEOUT) return ACRO TIMEOUT ERROR;
return inpo,r-tb(acro_dataport[axis]} & OxFF;
-
1Q
Chapter 5, ACR1000 PC-BUS Interface
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
11
/*********************************************************/
/* acro_gets
*/
/*
*/
/*
Gets a string from an Acroloop. Terminates on a
*/
/* carriage return or after receiving n characters.
*/
/* The carriage return is not stored with the string.
*/
/*
*/
/*
Buffer area pointed to by s must be at least n+l
*/
/* in length in order to hold '\0' at end of string.
*/
/*
*/
/*
Returns AeRO TIMEOUT ERROR if unable to receive
*/
/* the string, otherwise returns length of string.
*/
/****************.****************************************/
int aero gets(char *s, int n, int axis)
{
int code, count==O;
char *p = s;
-
while (count < 11)
code = aero getchar(axis);
if (code ==-'\r') break;
if (code < 0) return code;
*p++ = (char)code;
count++;
*p = '\0';
return count;
/****************~****************************************/
/* acro get actual
*/
/*
Fetches "act,ual n position from an Acroloop card.
*/
/* The actual position is where the card actually is
*/
/* and is derived. directly from the encoder feedback.
*/
/* Returns OL if unable to read actual position.
*/
/*********************************************************/
long acro get actual(int axis)
(
long actual,dummy;
int code;
char s[20];
code = acro-putchar(ACRO_STAT_ACTUAL, axis);
if (code<O) return OL;
code = acro gets(s, sizeof(s)-l, axis);
if (code<O)-return OL;
sscanf(s, 1t%08lX~08lX", &actual, &dummy);
return actual;
}
ACR1000 User's Guide
20
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
11
Chapter 6 Sy,stem Parameters
The ACR1000 firmware uses several system variables to configure operation. By manipulating the values
ot these system parameters the user may customize how the ACR1000 responds to the machine that it is
controlling. These system parameters control such things as how the machine homes. how encoder signals
are interpreted and maximum machine speed. Several parameters are redefined for use with the WEB
command. In addition to these system parameters there are several undefined parameters that the user
may use as they wish.
Parameter Definitions
DESCRIPTION
P1 Serial Port Control
P2 Axis Feedback Seled And Multiplier
P3 Aux Feedback Seled And Multiplier
P4 JOG Feedrale
PS JOGACCEL
P6 JOG DECEL.
P7 Maximum Velocity
P8 Unidiredional Approach I Y Axis Max Velocity vS.x
P9 Backlash Compensation I Web-Offset / 3rd encoder vS.x
P10 3rd Encoder Multiplier v3.x / 4th encoder vS.x
P11 4th Encoder Multiplier v3.x
P12 Spare
P13 Spare
P14 Spare
P1S Spare
P16 Spare
P17 (vS.x)Y-Axis Velocity Damping Gain (Software Tach)
P18 (vS.x)Y-Axis Feed-Forward Gain
P19 X-AXIS Velocity Damping Gain (Software Tach)
P20 X-AXIS Feed-Forward Gain
P21 HOME ACC/Spare
P22 HOME DEC/Spare
P23 Velocity To Hiome Switch/Spare
P24 Velocity Away From Switch/Spare
P25 Home Limit Switch InpuVSpare
P26 Direction To Home To/Spare
P27 Move Cmd FJioating Zero
P28 v2.7 .x, v4.x Master Move In Interpolation
P29 v2. 7 .x, v4.x Destination In Arc Move
P30 vS.x Y Floating Zero/Spare
P31 Spare
P32 Spare
P33 Spare
P34 Spare
P3S Spare
P36 Spare
P37 Spare
P38 Spare'- P39 Spare
P40 Spare
P41 Spare
P42 Spare
P43 Spare
P44 Spare
P45 Spare
P46 Spare
P47 Spare
P48 Spare
P49 Spare
P50 Spare
SIZE
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
16 BITS
32 BITS
32 BITS
32 BITS
32 BITS
32 BITS
32 BITS
32 BITS
32 BITS
32 BITS
32 BITS
40 BITS
40 BITS
40 BITS
40 BITS
40 BITS
40 BITS
40 BITS
40 BITS
40 BITS
40 BITS
40 BITS
40 BITS
40 BITS
40 BITS
40 BITS
21
Chapter 7, Command Set
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
11
Entering System Par,ameters
There are 50 system parameters available. They are referenced by a 'P' followed immediately by the
parameter number, i.e . P1, P2, P3•.. P50. Parameters P1 through P25 will only hold values in the range of
:1:32767 (16 bits). Parameters P26 through P3S will contain values %2147483647 (32 bits). Parameters 36
through 50 are floating point parameters with 40 bit precision and can have a mantissa of :1:2147483647
and exponent of :1:128. Even though these variables can hold different values, this does not mean that all
values are vande For example: the variable P1 can ho~d :1:32767, but only the values 0, 1 & 2 are defined
as valid. Using values joutside of a parameters defined domain can have unpredidable resuHs. " is the
responsibility of the pn:»grammer to insure that proper values are assigned to these parameters before they
are used.
To enter a value into a parameter, the aSSignment command, "=", is used. This command can be executed
either in the immediate' mode or within a program. For example, to load parameters 1 i2,l-with the values
1000, 2599, 3000 use the following commands:
Pl=lOOO
P2=2599
P3=3000
Pi: Serial Port Contrell
P1 controls the RS232 serial port. P1 can be set to a value of 0,1 or 2 to get half duplex, full duplex or
disable output modes n~spectively. This parameter is set to it's default value during a reset or power-up. If
the card address is set to zero (the first card address) the default value for this parameter is 1, otherwise it
is 2.
P1 =0: HALF DUPLEX
In this mode the ACR1()00 will not echo the characters being sent to it, but will respond to all queries and
commands as usual. EfTor messages will also be sent. This mode should be used when the card is being
commanded by a host computer and the host needs to have access to the PRINT capabilities of the
ACR1000. (If the card, iin this mode, is being commanded by the user from a tenninal, the terminal ECHO
should be turned ON.)
P1 =1: FULL DUPLEX
In this mode the ACR1 CIao will echo all characters sent to it as well as any response it might have. This
mode should be used when the card is being programmed or commanded by the user from a tenninal. (In
this case the tenninal should have the ECHO turned OFF.)
P1 =2: Disable Output.
In this mode, the card will suppress character echo as well as any messages. It will only respond to status
requests from the host. This mode is most often used when the ACR1000 is being controlled by a host
computer. Since the host only needs specific infonnation, requested via status commands, and does not
want any extraneous information cluttering up it's input buffers, the output of the ACR 1000 is turned off.
P2,P3: Main/Aux (Handwheel) Feedback Multipliers
The following table expl,ains how to select times 1, times 2 or times 4 multipliers on the main Axis and
Handwheelencoder.
VALUE
0000
RESULTING MULTIPLIER
x1
0001
x2
0002
0003
x4
DISABLE ENCODER Note that this is useful in some applications where it is desirable to shut off
the encoder pulses at certain, times.
(/16 only) x1. use 12 bit (0-1024) AID for feedback
(/16 only) x2. use 12 bit (0-2048) AID for feedback
(ACR1000/16) x4. use 12 bit (0-4096) AID for feedback
(ACR1000/16) DISABLE ENCODER
These values are reserved. Do not use.
0004
0005
0006
0007
>0007
Example: If the encoder shaft turns 5 times for every inch of linear motion and the encoder has 500 line
resolution, to get 10000 lPulses per inch axis feedback, P2 should be set to 2 as 500 lines times 5 turns
times 4 equals 10000. For velocity, distance, acddec, IPR, and maximum pulse rate calculations, the
number of lines/rev of the encoder AND the muHiplier must be taken into account. As far as the ACR1000
is concerned. the number of pulses/rev (PPR) of the encoder is equal to lines/rev x MULTIPLIER.
ACR1000 Users Guide
22
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
11
NOTE: Changing P2 or P3 has no effect on feedback resolution until either a RES or REN or possibly RES
2 command has been executed. (See command descriptions for details.)
Jog Parameters
P4, P5 and P6 select the JOG VELOCITY, ACCEL and OECEL respectively. For example
P4
P5
P6
=
=
=
500:
10:
10:
REM This sets the jog velocity to 500
This sets the jog accel to 10
This sets the jog decel to 10
ru~
ru~
If the JOG paralmeters are left at zero, the system uses the currently programmed VELOCITY, ACCEL and
OECEL values. If the programmed ACCEL or DECEL values are 0, JOG will default to using values of '1'.
P7, P8: Maximum Velocity
P7 controls the maximum velocity at which the ACR1000 will permit the motor to move. For example, if a
motor has a maximum speed of 2500 RPM it would be dangerous to try to move it faster. In this case it
might be wise to clamp the maximum speed to 2500. Setting P7 to 2500 (P7=2500) will do this. If P7 is 0,
the velocity is not clamped at all. P8 is the maximum velocity parameter for the Y axis in v5.x.
P8: Unidirectional Approach (v2.6.x & v3.x)
Because some machine movement destinations are more reproducible if the machine is moving to the
destination from the same direction each time, it may be desirable to ensure that this happens. For
example, a drill head is moved over an x-y table to a series of points where holes are drilled. Because otbacklash in the ball screws that move the drill, there is a variation in the accuracy of the positioning of the
drill. This variation is dependent on the direction of approach for each axis. Using UNIDIRECTIONAL
APPROACH, this variation can be eliminated because each destination is approached from the same
sides for each hole, regardless of where the drill started from.
This parameter ;allows control the final approach direction for all movement. To use this feature, set P8
equal to the distance the axis should move beyond the target before the final approach-generally a bit
larger than the maximum backlash. The sign of P8 detennines the final approach direction. Output 119
must be turned ()n (SET 119) to enable this feature. Executing a CLR 119 will disable this mode and return
P8 to general PlJlrpose use. Relay 119 is nonnally clear, to retain compatibility with older applications that
may use P8 for other purposes.
P9: Backlash Compensation (v2.S.x & v3.x)
For precise appliications where backlash is a problem and UNIDIRECTIONAL APPROACH cannot be
used, backlash can be compensated for by setting P9 equal to the amount of backlash. Execute a SET
120 to enable this feature. Executing a CLR 120 will disable this feature and return P9 to general purpose
use. Relay 120 is normally clear.
P1 O,P11: 3rd & 4th Encoder Multipliers (v3.x & v5.x)
When the piggy back adapter for 3rd and 4th Encoder inputs is plugged into the ACR1000/16 card, (P10 &
P11 v3.x), (P9 & P10 v5.x) control the scaling of the encoders. In either case,(P10 & P11 v3.x), (P9 & P10
vS.x) work the selme as P2 & P3 in being able to allow x1, x2 and x4 multiplication to the encoder lines.
VALUE OF P10, P11
P9, P10
0000
0001
0002
0003
>0003
v3.x
vS.x
RESULTING MULTIPLIER
xi
x2
x4
DISABLE ENCODER
These values are reserved. Do not use.
P17,P19: Veloci~' Damping Gain (Software Tachometer) (v2.S.x, 3.x & S.X)
For applications that use current mode amplifiers, the ACR 1000 can modify the amplifier Signal by adding
a velocity feedback term. This adds a damping effect. P19 controls the gain of this simulated tachometer.
The valid range fiQr this para~eter is 0 through 255. This parameter must be set to zero for applications
that have a stabilized velocity loop. Current Mode operation is explained in more detail in chapter 13. P17
controls the damping gain of the Y axis v5.X.
in
P18,P20: Feed-Forward Gain (v2.S.x, 3.x & 5.x)
Often it is desirable to have zero following error. The ACR1000 executive has provisions to generate
Feed-Forward based on the command velocity. This allows anticipating the velocity before any following
Chapter 7, Command Set
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
23
11
.... .............. .. " ' .. " ................ " ..
~
~
'
.. :- .. ',;-.','. ,,' ...... ' .. ' .. ' .......... ~ .. ' .. " .. ', ' .. ~.'" '.: .. ~, ~ .. ~ .. ' ...... .. :,:,: .. : .. ' ~' .. '...
'
.' ..... , .. ~ ',:.' .. ~.:.',"
......
,~,'.'.
error is generated. P20 controls the amount of "anticipation" and can be any value between ±255. A
positive value causes the ACR1000 to increase its signal as velocity increases, decreasing the amount of
following error. A negative value acts in an opposite manner, increasing the following error. If P20 is set
too high the motor will overshoot it's target position. To check the following error, use the ctr1-P status
command. P20 , P18 must be set to zero if no feed forward gain is desired. P20 affects the primary axis
and P18 affects the 2nd axis. Pi8 works as feed forward gain In version 5.x software. Pi8 is the FeedForward parameter for the Y axis in v5.x.
Home Sequence
Pa~ameters
P21, P22, P23 ,P24, F'25. P26 are used in the HOME sequence. See the HOME command for more detail.
P27,P30: Floating Zero
P27 is used by the F~~ command and will contain the value of the Target Position minu~Jhe FLZ
command's argument after the FLZ command is executed. Once and FLZ is done, the value in P27 is
added to each subsequent MOV. See FlZ in chapter 7 for more details. P30 is the floating zero for the Y
Axis in vS.x. HOME clears the FLZ values in versions 4.072 and above.
Interpolation Parameters (v2.7.X & v4.x)
P28 and P29 are used in conjundion with interpolated moves. P28 must be loaded with the maximum
number of pulses any ;oos will move with all axes moving together. P29 is only used for circular
interpolated moves, and must be loaded with the absolute destination for each axis. For details on these
parameters see chaptE!r 8.
Array Variables
The ACR1000 allows users the ability to use memory as an array to store data. One useful application
would be a '"teachable" system that would capture axis positions. store them in an array, and later use the
array to reproduce the series of movements. Also, having movements stored on the card eliminates delays
associated with sendirl1J large quantities of data from a host computer.
Only one array is avail;:lble on the ACR1000. Once the array is DIMensioned (see Chapter 7 commands
CLEAR, DIM and MEM), array elements may be used anywhere standard system parameters can. This
includes math and arguments for any of the other commands.
Using the DIM command, the user can select the variables to be one of the following sizes:
16 bits ±3276J
32 bits ±2147~f83647
40 bits Floatin~g Point.
An array element is acc::essed by a p followed by an index in parentheses, where index 0 is the first
element of the array. Tlhe legal range for index is from 0 to (# of etements-1).
The standard method of assigning a value to a parameter has been extended for array usage. If a list of
data separated by commas is assigned to a array variable, the data will be place in the array sequentially
starting at the specified array index. Remember that a maximum of 256 charaders may sent on a single
line.
Examples:
P(30)=14 : P(O}=1.2,3,4,5,6,7,8,9,lO
ADD 12,P(20) : MOVE P(55)
ACR1000 Users Guide
24
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com
11
Artisan Technology Group is your source for quality
new and certified-used/pre-owned equipment
• FAST SHIPPING AND
DELIVERY
• TENS OF THOUSANDS OF
IN-STOCK ITEMS
• EQUIPMENT DEMOS
• HUNDREDS OF
MANUFACTURERS
SUPPORTED
• LEASING/MONTHLY
RENTALS
• ITAR CERTIFIED
SECURE ASSET SOLUTIONS
SERVICE CENTER REPAIRS
Experienced engineers and technicians on staff
at our full-service, in-house repair center
WE BUY USED EQUIPMENT
Sell your excess, underutilized, and idle used equipment
We also offer credit for buy-backs and trade-ins
www.artisantg.com/WeBuyEquipment
InstraView REMOTE INSPECTION
LOOKING FOR MORE INFORMATION?
Visit us on the web at www.artisantg.com for more
information on price quotations, drivers, technical
specifications, manuals, and documentation
SM
Remotely inspect equipment before purchasing with
our interactive website at www.instraview.com
Contact us: (888) 88-SOURCE | sales@artisantg.com | www.artisantg.com