background image

Parker Hannifin 

174 Programmer’s Guide 

Example 7 

The following example configures a 2 axis ACR1200 with one on-
board DAC output and one on-board stepper output for one 

closed loop servo and one open-loop stepper. Also included on 

the board is an analog input module (ADC input module). 

NOTE: 

On the ACR1200 card, the attach axis statements for 

AXIS2 through AXIS7 must be left in the default 
configuration to ensure proper operation. 

CONFIG ENC3 DACSTEP2 NONE ADC8 
ATTACH AXIS0 ENC0 DAC0 
ATTACH AXIS1 STEPPER0 STEPPER0 
ESAVE 

 
 

Summary of Contents for ACR Series

Page 1: ......

Page 2: ...arising from or in any way connected with the use of the equipment or this guide 2003 2007 Parker Hannifin Corporation All Rights Reserved Technical Assistance Contact your local automation technolog...

Page 3: ...r Basic Categories of Motion 48 Move Types 49 What are Motion Profiles 53 Interaction Between Motion Profilers 54 Velocity Profile Commands 58 Coordinated Moves Profiler 63 Jog Profiler 66 Gear Profil...

Page 4: ...tion Binary Global Parameter Access 125 Additional Features 127 CANopen 127 Drive Talk 141 Inverse Kinematics 147 Troubleshooting 149 Problem Isolation 149 Information Collection 149 Troubleshooting T...

Page 5: ...on Topic Description Programming Basics Kill All Motion Request vs Kill All Moves Added new section which describes and compares the Kill All Motion axis flag and the Kill All Moves master flag Applic...

Page 6: ...ized the Making Motion chapter Added REN and RES details for Velocity Profile Commands section Changed the term in section titles from Commanding Motion to Move Types Jog Profiler Added Jog Profiler s...

Page 7: ...the program in which they are created This can cause problems if you have created similar local variables in different programs For example if long variables are dimensioned in three programs then the...

Page 8: ...his is another comment ACC 10000 REM this comment follows a valid program statement Command Syntax The AcroBASIC programming language accommodates a wide range of needs by providing basic motion contr...

Page 9: ...rguments for the command 4 Group The functional group to which the command belongs 5 Units Indicates the units of measurement required by the argument s in the command syntax 6 Data Type Indicates the...

Page 10: ...lect commands use semicolons to control spacing and line feeds To understand the separator s specific use in a command refer to the command s format and description Slash mark signifies an incremental...

Page 11: ...for axis y to 3 and 1 IPB X 0 05 Y 3 1 Notice that the two values for axis Y are given inside parentheses and separated by a comma as shown in the format of the command Example 4 HALT PROGx PLCx ALL...

Page 12: ...uch as VEL 1000 To perform a command such as turning on the first of the digital outputs type SET 32 Adding Lines of Code to Programs You can add lines of code to a program that is already downloaded...

Page 13: ...d as the first line in a program Listening to a Program While a program is running you can listen to it The listen mode displays data from the controller s print statements and error messages To enabl...

Page 14: ...n Request KAMR is an Axis Flag The setting of this flag e g Bit Index 19 of the Quaternary Axis Flags will stop and prevent any motion jog cam gear coordinated master Motion for any other axes on the...

Page 15: ...does not halt any programs or PLCs The KAMR flags may be cleared for all axes by issuing a CTRL Y Kill All Moves Kill All Moves is a Master Flag The setting of this flag e g Bit Index 10 of the Master...

Page 16: ...flags Kill All Motion Request Quaternary Axis Flags Axis Number 0 1 2 3 4 5 6 7 8467 8499 8531 8563 8595 8627 8659 8691 Axis Number 8 9 10 11 12 13 14 15 8723 8755 8787 8819 8851 8883 8915 8947 Kill A...

Page 17: ...LED as circled in red below indicates that the flag is set All motion is stopped for this axis and all other axes on the same master Select Master Flags in the first drop down menu Primary Master Fla...

Page 18: ...ately You can send CTRL X to kill motion on all axes and terminate all program execution While CTRL X is similar to sending the HALT ALL command CTRL X also sets the Kill All Motion Request KAMR bit f...

Page 19: ...ntrols the direction of program flow Think of it as a branch in your program When the conditions are met the program moves to a different block of code AcroBASIC provides the following conditional sta...

Page 20: ...ot nest GOTO statements in IF ELSE statements The GOTO statement exits the IF ELSE statements and does not provide any link back inside Do not nest IF THEN statements in IF ELSE statements the logic m...

Page 21: ...ndition you can omit the ELSE condition When the IF and ELSEIF conditions test false statement execution after the ENDIF continues Think of it as creating a series of IF THEN statements GOSUB The GOSU...

Page 22: ...if the condition is always met then the loop does not end An endless loop is probably not a desired result so be mindful when writing the loop conditions AcroBASIC also provides the following looping...

Page 23: ...condition is evaluated only at the beginning of the loop When using a WHILE WEND statement observe the following Do not nest GOTO statements in an WHILE WEND statement At the start of each loop throug...

Page 24: ...e setpoint of a given parameter or a timeout is reached NOTE While intended to inhibit program execution based on an axis position you can use any system parameter or user defined parameter Example Th...

Page 25: ...halting of programs Non Request Bits The bit requires clearing through a program or manually through a terminal Following is a list of the most commonly used parameter and bit tables Master Parameters...

Page 26: ...shortcut in a terminal emulator NOTE When printing a system parameter the value returned is either an integer or a 32 bit floating point When printing a user parameter P0 P4095 the value returned is...

Page 27: ...ou can pause the program by setting the Feedhold Request bit or sending the PAUSE command The Feedhold Request bit stops the axes using the deceleration value To set the Feedhold Request bit type SET...

Page 28: ...ellaneous operators absolute value natural log square root etc require parentheses around their own expressions The order of operations with such operators begins with the deepest nested parentheses P...

Page 29: ...strate some simple uses of expressions The examples assume memory space is allocated for the variables Example 1 The following causes axis X to move position to the resulting value of the expression X...

Page 30: ...5 The following flashes the first 30 outputs in a random sequence PROGRAM DIM DV 1 REM dimension 1 floating point variable _LOOP2 DV0 RND 4294967295 REM set DV0 equal to random number P4097 DV0 REM se...

Page 31: ...rol Program Flow Global Objects Servo Control Interpolation Setpoint Control Logic Function Transformation Memory Control Velocity Profile Warning ACR Series products are used to control electrical an...

Page 32: ...LM Set jog limits MAXVEL Set velocity limits PM Position maintenance SLDEC Software limit deceleration SLIM Software limit enable SLM Software positive negative travel range TLM Set torque limits Char...

Page 33: ...ch position with encoder RES Reset or preload encoder ROTARY Set rotary axis length Global Objects Command Description ADC Analog input control ADCX Expansion board analog input AXIS Direct axis acces...

Page 34: ...ine interpolation mode TANG Tangential move mode TARC 3 D circular interpolation TRJ Start new trajectory Logic Function Command Description CLR Clear a bit flag DWL Delay for a given period IHPOS Inh...

Page 35: ...ONFIG Hardware configuration CPU Display processor loading DEF Display the defined variable DEFINE Define variable DETACH Clear attachments DIAG Display system diagnostics ECHO Character echo control...

Page 36: ...n a stored program STEP Step in block mode TROFF Turn off trace mode TRON Turn on trace mode Program Flow Command Description BREAK Exit a program loop END End of program execution ENDP End program wi...

Page 37: ...feedforward velocity FLT Digital filter move IDELAY Set integral time out delay IGAIN Set integral gain ILIMIT Set integral anti windup limit KVF PV loop feedforward gain KVI PV loop integral gain KVP...

Page 38: ...ation ramp F Set velocity in units minute FOV Set feedrate override FVEL Set final velocity IVEL Set initial velocity JRK Set jerk parameter S curve LOOK Lookahead mode MBUF Multiple move buffer mode...

Page 39: ...etting the Controller When you reset the controller it shuts down communications turns off outputs and kills all programs For controllers with non volatile memory the controller stores all conditions...

Page 40: ...series controller is powerful and flexible it requires configuration for your particular application There are two methods you can manually write the configuration code or use the Configuration Wizard...

Page 41: ...rmance when jogging or homing The Jog Home Limits dialog is only for testing and does not write any jogging or homing code What is Configuration Code To get a sense of what configuration code looks li...

Page 42: ...itly sets the ADC mode the ACR9000 is a 16 bit card and cannot operate otherwise The next section is specific to the ACR9000 and does not apply to other ACR Controllers Though the controller in this e...

Page 43: ...0 ILIMIT 0 AXIS0 IDELAY 0 AXIS0 DGAIN 1e 005 AXIS0 DWIDTH 0 AXIS0 FFVEL 0 AXIS0 FFACC 0 AXIS0 TLM 10 AXIS0 FBVEL 0 The next section is specific to the ACR9000 and does not apply to other ACR controlle...

Page 44: ...C 0 ENC2 MULT 4 REM Axis Gains values AXIS2 PGAIN 0 002441 AXIS2 IGAIN 0 AXIS2 ILIMIT 0 AXIS2 IDELAY 0 AXIS2 DGAIN 1e 005 AXIS2 DWIDTH 0 AXIS2 FFVEL 0 AXIS2 FFACC 0 AXIS2 TLM 10 AXIS2 FBVEL 0 REM Axis...

Page 45: ...REM the desired master deceleration ramp DEC 10 REM the desired master stop ramp deceleration at end of move STP 10 REM the desired master velocity VEL 5 REM the desired acceleration versus time profi...

Page 46: ...e resulting code exceeds the limit for a PLC program the Configuration Wizard splits it among several PLC programs The wizard uses the PLC5 8K file first and uses the PLC6 8k and PLC7 8k files as need...

Page 47: ...on is killed and is used by the PLC program to set the Drive Disable output Bits 1976 1983 Drive Disabled Flag Axis 8 15 Triggered when a drive is faulted or optionally when motion is killed and is us...

Page 48: ...tronic Gear Use the GEAR commands to control motion based on an external source such as an electronic gearbox trackball follower axis feed to length or changes of ratio related to position Cam Profile...

Page 49: ...e written in a single statement such as X500 Y100 the motion is coordinated NOTE When commanding motion you must use the axis name the axis number is not a valid way to indicate an axis For more infor...

Page 50: ...rom its current position X 20 Y 30 Example 2 The X axis makes an incremental move Y axis makes an absolute move and Z axis makes a decremental move Written on the same line this is a coordinated move...

Page 51: ...s x 400 x200 x 50 x400 Combining Types of Motion The user can command multiple types of motion linear circular or sinusoidal in a single statement The controller coordinates the motion of all axes in...

Page 52: ...nent change adjust the master velocity in the program code either manually or through the Configuration Wizard For more information about feedrate override see the FOV command in the ACR Command Langu...

Page 53: ...p is only used when the stop ramp is zero Use the DEC ramp to blend moves Stop Use the STP Set Stop Ramp command to set the master deceleration ramp used at the end of the next move The value is in un...

Page 54: ...line encoder attached to a motor The MULT Set Encoder Multipliers command brings the value to 4000 Then PPU X4000 sets the programming units to revolutions 4000 pulses rev for the rest of the program...

Page 55: ...r each diamond the code in this example provides the coordinates for one diamond and uses the Jog Profiler to offset the coordinates for the remaining diamonds The axes are attached to a Coordinated M...

Page 56: ...ABS Y0 X 2 Y1 X0 Y2 X2 Y1 X0 Y0 So what is happening Each motion profiler calculates its own commanded position which is sent to a summation point The coordinated move jog gear and cam data is combin...

Page 57: ...ing point again this time changing the X axis to 5 The Y axis has not been jogged so it stays at its previous value of 3 For the fourth shape the jog statement adjusts the starting point for the Y axi...

Page 58: ...file For more information about each command see the ACR Command Language Reference F Set Velocity in Units per Minute sets a move velocity in units minute The F command otherwise functions the same a...

Page 59: ...ctor calculation Axis A makes its move within the defined motion profile but is not part of the calculation itself VECTOR Set Manual Vector sets an independent vector value for an axis removed from th...

Page 60: ...anged to a value inappropriate to the application Carefully consider the effects throughout the application before applying a new value and perform a test without the load or mechanics attached REN Ma...

Page 61: ...econdary Setpoint This action removes the following error In the example in Figure 2 the actual position is 11 That number is copied into the register for the Secondary Setpoint and the Primary Setpoi...

Page 62: ...diagram of the profiler and summation registers for the command RES X10 The values of the Coordinated Moves Profiler Primary and Secondary Setpoints and Actual Position registers have been changed to...

Page 63: ...it is working with is provided to the Coordinated Moves Profiler by the master slave and axis attachment statements The other motion profilers look to the Coordinated Moves Profiler for the configurat...

Page 64: ...the same master and the program moves one axis to an absolute position axis X to 25 millimeters As only axis X is commanded to move axis Y is not included in the motion trajectory calculation ACC 750...

Page 65: ...Parker Hannifin Making Motion 65...

Page 66: ...es motion based on axis target positions and on the motion profile values JOG ACC JOG DEC JOG JRK and JOG VEL The motion profile is scaled by the PPU pulses per programming unit for each axis All axes...

Page 67: ...ontal line once the axis is up to speed The area under the velocity profile graph is the distance traveled Figure 4 X Axis Velocity and Position Profiles In the lower graph position motion profile of...

Page 68: ...s Velocity and Position Profiles Again the straight line between points P1 and P2 on the position motion profile is where the Y axis movement is a constant velocity Figure 6 shows the velocity motion...

Page 69: ...higher acceleration value presents as a more gradual curve JOG ACC X1000 Y500 Figure 7 X and Y Position Motion Profiles Example 2 The JOG VEL value is changed while a single axis is in motion on the f...

Page 70: ...s The program waits until the Jog Active Bit Bit792 is off indicating that Axis X has finished its move after which time the Y axis is commanded to move to its incremental position Figure 9 shows the...

Page 71: ...Parker Hannifin JOG VEL Details Figure 10 shows the bit profiles for the Jog Flags Bits 792 through 796 as a JOG VEL command is executed Figure 10 JOG VEL Command and Bit Profiles Making Motion 71...

Page 72: ...homing operation makes the final approach JOG INC Jog an Incremental Distance uses the current jog settings to jog an axis an incremental distance from the current jog offset JOG JRK Set Jog Jerk S c...

Page 73: ...X It can also be used to preload a position into the Coordinated Moves Profiler adjusting the Jog Profiler to make up the difference example JOG REN X2 In either case the Gear and Cam profilers and th...

Page 74: ...Parker Hannifin The drawing in Figure 12 illustrates JOG REN as it preloads the Coordinated Moves Profiler Figure 12 JOG REN Preloads the Coordinated Moves Profiler JOG REN X2 74 Programmer s Guide...

Page 75: ...ler example JOG RES X It can also preload the Jog Profiler offset and again adjusts the Coordinated Moves Profiler to make up the difference example JOG RES X2 In either case the Gear and Cam profiler...

Page 76: ...put to some form of input see SRC command Set External Timebase for available sources The input source is usually external such as an electronic gearbox trackball follower axis or changes of ratio rel...

Page 77: ...shift that may have been built up by an incremental cam Homing The homing operation is a sequence of moves that position an axis using the Home Limit inputs The goal of the homing operation is to retu...

Page 78: ...ing direction is the same as the selected final direction the profile is complete Otherwise find the edge again in the selected final direction using the velocity set with the JOG HOMVF command Exampl...

Page 79: ...F ENDP Homing Subroutines Typically the homing code is a subroutine in a program The Jog commands define the motion JOG ACC JOG DEC JOG HOME JOG HOMVF JOG JRK and JOG VEL and three bits in the Quinary...

Page 80: ...Figure A Homing Profile Attributes JOG HOME X1 Home Backup Enable bit index 24 is clear Home Negative Edge Select bit index 25 is clear Home Negative Final Direction bit index 26 is clear Figure B Hom...

Page 81: ...ed and the move continues until the positive edge is detected At this time the move is decelerated at the JOG DEC and JOG JRK command values 4 After stopping the direction is reversed and a second mov...

Page 82: ...clear Figure E Homing Profile Attributes JOG HOME X1 Home Backup Enable bit index 24 is set Home Negative Edge Select bit index 25 is clear Home Negative Final Direction bit index 26 is set Figure F H...

Page 83: ...up Enable bit is set Figure G Homing Profile Attributes JOG HOME X 1 Home Backup Enable bit index 24 is set Home Negative Edge Select bit index 25 is set Home Negative Final Direction bit index 26 is...

Page 84: ...me Negative Edge Select bit index 25 is set Home Negative Final Direction bit index 26 is clear Figure J Homing Profile Attributes JOG HOME X 1 Home Backup Enable bit index 24 is set Home Negative Edg...

Page 85: ...inputs are used for positive and negative hardware limits and the input used for homing The inputs can be assigned or changed using the HLBIT command no corresponding parameter exists Use the HLBIT c...

Page 86: ...reate imaginary limit and home inputs This is because the controller assumes all three inputs are in the same multiple of 32 bits The assignment of inputs does not roll over to the next block of 32 bi...

Page 87: ...ofiler respectively Backlash Generator Used to compensate for error introduced by hysteresis in mechanical gearboxes Backlash is used in the Secondary Setpoint summation if the Primary Setpoint value...

Page 88: ...output In the Project Workspace click Status Panel then click Servo Loop Status Following Error The Secondary Setpoint is compared with the value of the Actual Position received from a feedback devic...

Page 89: ...Parker Hannifin Servo Loop Fundamentals 89 Figure 17 Following Error...

Page 90: ...ine for combination of absolute and incremental moves GOSUB JogABSMotion REM subroutine for absolute jog moves GOSUB JogINCMotion REM subroutine for incremental jog moves GOSUB JogCOMBOMotion REM subr...

Page 91: ...E OF both Absolute and Incremental Moves _JogCOMBOMotion JOG INC X 400 INH 792 JOG ABS X 200 INH 792 JOG INC X50 INH 792 JOG ABS X0 INH 792 RETURN ENDP Enable Drive PROGRAM GOSUB ENABLEDRIVE REM GO TO...

Page 92: ...TO START WEND IF BIT 16649 THEN PRINT EPL NETWORK OPERATIONAL REM IF NETwoRK OPERATIONAL PRINT MESSAGE TO SCREEN IF THE NETWORK IS NOT OPERATIONAL AT THIS POINT THEN TRY TO RESET IT IF NETWORK IS NOT...

Page 93: ...16166 AND NOT BIT 16167 WEND Prints Information regarding Y Axis homing IF BIT 16166 THEN PRINT Y HOMING SUCCESSFUL SET 128 IF BIT 16167 THEN PRINT Y HOMING UNSUCCESSFUL Checks if X Axis homing succe...

Page 94: ...for homing JOG DEC Z100 REM set jog decel for homing JOG VEL Z25 REM set jog velocity for homing JOG HOMVF Z5 REM set jog final velocity for homing REM X Axis settings SET 16152 REM Backup to edge is...

Page 95: ...rew is 5mm per motor rev so command a move REM of 5 5 to ensure 1 rev MSEEK Z 5 5 0 REM Rising First Marker Z Mark ENC2 REM Hardware Capture Parameter P12804 REM Capture Complete Flag BIT841 REM all p...

Page 96: ...NT I would like to have a Infinite WHILE loop if they do not enter anything WHILE V0 V0 UCASE INKEY 1 REM Stores Keyboard entry into String Variable 0 WEND IF V0 A THEN PRINT n Apple REM If A was ente...

Page 97: ...rrect IF LV1 0 PRINT ENTERED VALUE IS NOT VALID V0 PRINT Value must be a number greater than 0 GOTO InputPoints ENDIF DIM DA0 LV1 REM dimension array equal to number of points to teach use input 24 to...

Page 98: ...ifin FOR TO STEP NEXT loop to make absolute moves to position taught FOR LV0 0 TO LV1 1 STEP 1 X DA0 LV0 INH 516 PRINT DA0 LV0 REM Print to terminal the Position it move to NEXT RETURN ENDP 98 Program...

Page 99: ...lt for the COM1 and COM2 channels is one Note that high bit stripping cannot be done without also activating the control character prefixing mode Mode Description MODE 0 No Conversion MODE 1 Control C...

Page 100: ...racter is ANDed with 0x7F and proceeded with the character Note that the AND may result in a control code which must then handled by control character prefixing The original character may also need to...

Page 101: ...solation Mask Group Code and Index The group code and group index work as a pair to select the data coming back in a data packet The group code selects a general data grouping and the group index sele...

Page 102: ...e to do asynchronous sampling A request can be sent by one part of the program and packet retrieval can be done by a centralized receiver This routine would recognize the 0x00 in the header as an inco...

Page 103: ...ethod of reading from and writing to single system parameters on the card Unlike binary data packets binary parameter access uses the index of the parameter directly from Appendix A There are no group...

Page 104: ...Data Field Data Type Description Byte 0 BYTE Header ID 0x00 Byte 1 BYTE Packet ID 0x88 Byte 2 3 WORD Parameter Index Receive Packet Data Field Data Type Description Byte 0 BYTE Header ID 0x00 Byte 1 B...

Page 105: ...r Index Receive Packet Data Field Data Type Description Byte 0 BYTE Header ID 0x00 Byte 1 BYTE Packet ID 0x8A Byte 2 3 WORD Parameter Index Byte 4 7 IEEE32 Parameter Value Binary Set IEEE This packet...

Page 106: ...ails The command returns the header and peek address followed by the requested data Binary Peek Packet Transmit Packet Data Field Description Byte 0 Header ID 0x00 Byte 1 Packet ID 0x90 Byte 2 Convers...

Page 107: ...mand A binary poke command consists of a four byte header followed by an address and the data to be stored at that address There is no information returned from this command The header contains a data...

Page 108: ...s Command A binary address command consists of a four byte header containing a program number and a parameter code The command returns the header followed by the base address of the parameter type in...

Page 109: ...ables 0x01 DA Double Arrays 0x02 SV Single Variables 0x03 SA Single Arrays 0x04 LV Long Variables 0x05 LA Long Arrays 0x06 V String Variables 0x07 A String Arrays Usage Example NOTE Addresses shown ar...

Page 110: ...yte 1 BYTE Packet ID 0x93 Byte 2 3 WORD Parameter Index Receive Packet Data Field Data Type Description Byte 0 BYTE Header ID 0x00 Byte 1 BYTE Packet ID 0x93 Byte 2 3 WORD Parameter Index Long 0 LONG...

Page 111: ...BYTE Reserved 0x00 Byte 3 BYTE Reserved 0x00 Long 0 BYTE Data Address Long 1 BYTE NAND Mask Long 2 BYTE OR Mask Receive Packet None Usage Example NOTE Addresses shown are for example only Addresses wi...

Page 112: ...odified as follows data data AND NOT nandmask OR ormask Binary Mask Packet Transmit Packet Data Field Data Type Description Byte 0 BYTE Header ID 0x00 Byte 1 BYTE Packet ID 0x95 Byte 2 3 WORD Paramete...

Page 113: ...control point Data 06 LONG Slave 3 Target or NURB Spline control point Data 07 LONG Slave 4 Target or NURB Spline control point Data 08 LONG Slave 5 Target or NURB Spline control point Data 09 LONG Sl...

Page 114: ...Count down if set else up Bit 7 Counter Mode Master move counter enable The enabled mode for this flag Secondary Master Flag Bit Index 5 Set uses the following Header Code 0 definition This Header Co...

Page 115: ...3 Slave 3 Present Bit 4 Slave 4 Present Bit 5 Slave 5 Present Bit 6 Slave 6 Present Bit 7 Slave 7 Present Slave target positions to be contained in this move packet Header Code 3 Data Field Data Type...

Page 116: ...Field Data Type Description Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Reserved Reserved Header Code 6 Data Field Data Type Description Bit 0 Slave 8 Present Bit 1 Slave 9 Present Bit 2 Slave 10...

Page 117: ...es flag set Move Modes Bits 0 and 2 in Header Code 0 indicate which type of move mode is contained in the binary move packet as follows Bit 1 Header Code 0 Bit 0 Bit 0 Header Code 0 Bit 2 Move Mode 0...

Page 118: ...Parker Hannifin Example 2 The following illustrates Move Mode 1 Feed Cornering Example 3 The following illustrates Move Mode 2 Feed Stopping 118 Programmer s Guide...

Page 119: ...oint format otherwise they are long integers Arc Moves When the arc mode bit in header code 1 is set a circular arc is generated using two of the first three slaves attached to a master Any slaves tha...

Page 120: ...s are in IEEE floating point format otherwise they are long integers NURB or SPLINE Moves When the NURB or Spline bit in header code 3 Bit 6 is set the move data packet includes NURB or Spline curve d...

Page 121: ...the FOV occurs when the command is first seen by the board The second byte in the header is a bit mask that determines which masters are affected by the FOV value that follows The FOV value is an imag...

Page 122: ...ffected Bit 1 Master 1 Affected Bit 2 Master 2 Affected Bit 3 Master 3 Affected Bit 4 Master 4 Affected Bit 5 Master 5 Affected Bit 6 Master 6 Affected Bit 7 Master 7 Affected NOTE Masters affected by...

Page 123: ...ued and the ROV occurs when the command is first seen by the board The second byte in the header is a bit mask that determines which masters are affected by the ROV value that follows The ROV value is...

Page 124: ...ffected Bit 1 Master 1 Affected Bit 2 Master 2 Affected Bit 3 Master 3 Affected Bit 4 Master 4 Affected Bit 5 Master 5 Affected Bit 6 Master 6 Affected Bit 7 Master 7 Affected NOTE Masters affected by...

Page 125: ...nd Poke Command interface System Pointer Address hardware dependent Controller System Pointer Address ACR1200 0x400008 ACR1500 0xC08008 ACR2000 0x400008 ACR8000 0x403E08 ACR8010 0x403E08 ACR8020 0x400...

Page 126: ...see the DIM command If the returned address is other than zero peek at this address to receive the number of dimensioned global variables To prevent corruption of user memory always verify P index is...

Page 127: ...d and implemented each time the network is started via bit 11265 Values of P32771 less than or equal to zero do not result in any re mapping so CANopen digital I O appears at the original location Val...

Page 128: ...ommand Each parameter is described in further detail in subsequent paragraphs Parameter P number Default value Master Node Id P32768 5 Bit Rate kilobits second P32769 125 Number of slave nodes P32770...

Page 129: ...lus one to report health The ACR9000 also sends a sync message In the formulas below digital inputs are ignored since these will not transmit periodically Node messages node analog inputs 3 4 node dig...

Page 130: ...ates and configures the slaves as required The slaves are then placed into the Operational state and automatic transfer between the slave s physical I O and the ACR9000 s I O parameters and bits takes...

Page 131: ...lag as an argument This also applies to using parameters with analog I O To be consistent with the current language extend all existing on board I O functionality to external I O and facilitate backwa...

Page 132: ...etwork Operational R This flag is set when the CANopen network is in the Operational state and communicating It is cleared if there is no communication or some other error Check the below flags for mo...

Page 133: ...2777 Number of analog outputs P32778 Bus state see table below P32779 Reserved P32782 Reserved P32783 Field Description Read Write Description Master Node ID R W The controller s ID in the CANopen Net...

Page 134: ...ates listed in that document can occur in the ACR9000 In addition the off and blinking red indications are unique to the ACR9000 not included and not conflicting with the states listed in CiA DR 303 3...

Page 135: ...An expected external node has not responded to interrogation during attempt to start network Will occur if a stated node ID does not match the actual node ID or if the node is missing or at the wrong...

Page 136: ...command that would allow the application to easily verify that the configuration is the same every time In the table below nodes are numbered 0 3 like all other ACR objects This is the node number fro...

Page 137: ...ll have an information parameter block described later in this text This block will contain among other things the number of bytes of digital inputs and outputs Digital I O are assigned in blocks of e...

Page 138: ...10 Alternatively if the input of the analog device were a maximum of 20ma then the gain would be 20 Internally the raw analog count value is normalized such that 1 0 represents full scale positive an...

Page 139: ...nd ACR9000 does not have the type of ADCs that are assumed by other ADC commands Saved Parameters All the parameters required to set up the extended I O network are saved with the ESAVE command and au...

Page 140: ...UTPUT 2 ON NODE 0 SET 13057 REM TURN ON DIGITAL OUTPUT 2 ON NODE 1 IF P33288 5 0 THEN P33792 2 5 REM IF ANALOG INPUT 1 FROM NODE 0 IS REM GREATER THAN 5 VDC THEN SET ANALOG REM OUTPUT 1 ON NODE 1 TO 2...

Page 141: ...grams can use axis aliases and the controller manages the drive address prefixing Get existing drive configuration data and send new configuration data Get drive status data Set which error data the A...

Page 142: ...s is best illustrated through an example For example you have a eight axis ACR controller and axes 0 1 4 and 7 are connected to drives with the Drive Talk feature The auto address sequence is as follo...

Page 143: ...error data request set the Send ERRORL Request bit bit index 3 Drive Talk Drive Control Flags Drive Status Flags You can get status data of an Aries drive On power up the controller does not contain d...

Page 144: ...s to which an Aries drive is connected Once set up you can do the following You can then get and send configuration data set the error log for the drive and get drive status data Example The following...

Page 145: ...configuration data and get drive status data In pass through mode the controller acts as a communication conduit to the drive The following diagram helps illustrate the switch concept Because the pass...

Page 146: ...1123 CLR11124 REM CLEAR ALL TIMEOUT BITS P00 SET11104 REM START AUTO ADDRESS P00 DTALK X REM START TALKING DIRECTLY TO THE DRIVE REM PRESS ESCAPE TO EXIT TPE 0 TPE 2576 TREV Aries OS Revision 2 00 DMO...

Page 147: ...botic arm and an HMI The controller using algorithms developed by the application builder transforms the motion target points from Cartesian coordinates to rotational coordinates to position the arm j...

Page 148: ...M Describe transformation in PROG7 P12617 cos P12360 REM Describe transformation in PROG7 ENDP PROG0 ATTACH MASTER0 ATTACH SLAVE0 AXIS0 X ATTACH SLAVE1 AXIS1 Y PPU X 2000 Y 2000 REM Scale commands to...

Page 149: ...blem is mechanical electrical or software related and note whether it can be recreated or is repeatable Random events may appear to be related but they are not necessarily contributing factors to the...

Page 150: ...power source meets requirements outlined in Chapter 2 Specifications of the ACR9000 Hardware Installation Guide Power status LED is steady red There is inadequate power to the controller 1 Verify the...

Page 151: ...t node will have a node state of 0 dead One possible reason would be node received overrun caused by a cyclic period that is too fast for the node Another possible reason is the connection between the...

Page 152: ...Ethernet card in the PC is functioning correctly Verify the ACR controller Ethernet port is functioning correctly Serial Communication Incorrect cable Check that the serial cable is a null modem seri...

Page 153: ...he ACR1505 or ACR8020 Check for compatible operating systems Communication Error 17080 ACR View cannot establish communication Check PCI communications Shut down computer and restart Operation Check i...

Page 154: ...oop Verify that the drives are running open loop Status Panels Bit Status Axis Flags Primary Axis Flags Each axis is indicated by Bit Open Servo Loop Disable drive and clear the appropriate Bit Tuning...

Page 155: ...iated Slave Kill All Motion Request Bits Axis Kill All Motion Request is active Verify Status Panels Bit Status Axis Flags Quaternary Axis Flags Each axis is indicated by Bit ACR9000 Kill All Motion R...

Page 156: ...ct ABS vs INC Incorrect commanded distance or position Incorrect PPU setting Correct PPU setting for position or distance Check the commanded velocity by going into the correct PROG level Type for exa...

Page 157: ...axis is indicated by Bit Positive Negative EOT Limit Enable Check that the associated inputs toggled If using onboard I O Status Panels Bit Status Onboard I O and User Flags 0 3 If using Expansion I O...

Page 158: ...used in any unused program from PROG1 to PROG7 When an Axis Kill All Motion Request is set this program clears related error conditions such as Software and Hardware End of Travel EOT flags because th...

Page 159: ...15000 bytes to store and run REM program DEFINE XPosSoftEOT BIT16140 DEFINE XNegSoftEOT BIT16141 DEFINE YPosSoftEOT BIT16172 DEFINE YNegSoftEOT BIT16173 DEFINE XPosHardEOT BIT16132 DEFINE XNegHardEOT...

Page 160: ...10 80 DIM LV10 REM initialize error codes to zero MEIErrorCode 0 CANopenErrorCode 0 XErrorCode 0 YErrorCode 0 REM clear PrintErrors to prevent forced printing of error messages SET PrintErrors REM cle...

Page 161: ...ccurred V1 CANopen network problem occurred ENDIF ENDIF REM SOFTWARE EOT s REM Software End of Travels EOT s do not set the axis REM Kill All Motion Request KAMR flags so must be REM handled separatel...

Page 162: ...XKillAllMotion AND NOT LatchedMEIOpen INH 792 REM When KAMR flag is set all motion stops with REM JOG move SET ErrorOccurred XErrorCode 0 REM Error number for axis 0 REM some master programs can be re...

Page 163: ...ELSE V2 Other fault user set KAMR bit EPL Network Fault etc ENDIF XErrorCode 7 REM no separate code for drive fault ENDIF REM Clear KILL bits CLR XKillAllMotion REM BIT8467 CLR KillMasterMoves REM BIT...

Page 164: ...ignal Lost or Fault IF NOT YDriveEnabled AND YErrorCode 0 AND YEncoderFault OR YEncoderLost YErrorCode 6 V3 Axis 1 disabled due to encoder fault ENC 1 RES REM try to reset encoder ENDIF REM if none of...

Page 165: ...to have REM program clear codes automatically XErrorCode 0 YErrorCode 0 ENDIF CLR ErrorOccurred ENDIF GOTO LoopStart _CheckTime REM This implements a clock for showing time since power up or REM rebo...

Page 166: ...xcMinutes 60 REM remove any hours less than a full day ExcHours hours mod 24 REM only full days are left Only works up to 25 days REM remove excess hours and convert what s left to days days hours Exc...

Page 167: ...R9000 controller s performance A closed network restricts the flow of traffic to only the controller and related devices The IP address and subnet mask you assign each controller determines to which s...

Page 168: ...And class C networks provide a huge number of network IDs but a small number of host IDs Before a computer or router can send data it has to identify the network ID through the address class Each cla...

Page 169: ...http www faqs org rfcs rfc1918 html Subnets As networks increase in size it becomes more complex to deliver information Subnets provide a logical way to break apart network addresses into smaller mor...

Page 170: ...same network ID 192 168 but are divided into two subnets Three computers use 192 168 10 where 10 is the subnet ID the remaining three use 192 168 5 where 5 is the subnet ID Subnet Masks A subnet mask...

Page 171: ...ID appear use 255 in the subnet mask Suppose on network 172 20 0 0 class B you have to set up a new computer You assign it 172 20 44 180 as the IP address As a class B network the first two octets are...

Page 172: ...ER4 ATTACH AXIS5 STEPPER5 STEPPER5 ATTACH AXIS6 STEPPER6 STEPPER6 ATTACH AXIS7 STEPPER7 STEPPER7 ESAVE Example 2 The following example configures an eight axis ACR8000 ACR8010 board for four closed lo...

Page 173: ...axis ACR1200 with two on board stepper outputs or a four axis ACR2000 with one stepper output module for four open loop steppers Also included on the board is an analog input module ADC input module N...

Page 174: ...for one closed loop servo and one open loop stepper Also included on the board is an analog input module ADC input module NOTE On the ACR1200 card the attach axis statements for AXIS2 through AXIS7 m...

Page 175: ...7 cycling power 39 dedicated I O homing 85 Drive Talk auto address 142 bits 141 configuration flags 142 drive status flags 143 error flags 143 parameters 141 pass through mode 145 RS 232 141 RS 485 14...

Page 176: ...ranching repetition 22 selection 19 halting 13 labels 7 listening 13 pausing 14 resuming 14 running 13 starting 13 starting automatically 13 start up 39 program flow pause 24 repetition 22 selection 1...

Reviews: