Anaheim Stepper DPD60401 Users Guide
Have a look at the manual Anaheim Stepper DPD60401 Users Guide online for free. It’s possible to download the document as PDF or print. UserManuals.tech offer 523 Anaheim manuals and user’s guides for free. Share the user manual or guide on Facebook, Twitter or Google+.
SECTION 8COMMAND DESCRIPTIONS41 BRANCH QUIT COMMAND The BRANCH QUIT command will cause the program to stop execution of the associated program (Main Program, Program 1, 2, or 3).LineCommandParameter 1Parameter 2Comments1Branch QuitRETURN COMMAND The Return Command will cause the program to return to the line below the last Gosub Command that was issued. The return command must be used in conjunction with the Gosub Command or an error will occur.LineCommandParameter 1Parameter 2Comments1ReturnWAIT DELAY COMMAND This Command sets the Delay Register, and waits for the time specified to expire before continuing to the next line in the program. The Value is in 1/1000 of a second, meaning that a value of 1000 is 1 seconds. The below example would begin moving 1000 steps. After the start of the motion, 1 seconds would need to expire before the output is turned on. Value(s) of 1 - 60000 equivalent to .001seconds - 60seconds is the usable delay range per line.LineCommandParameter 1Parameter 2Comments1Go Relative10002Wait Delay10003Set OutputsON:1,FOR LOOP The For Loop Command is separated into two sections where the Top Loop Identifies the top section of the looping command for a pre-selected number of times.LineCommandParameter 1Parameter 2Comments1Loop Top Start4 Times The Bottom Loop Identifies the bottom section of the looping command in order to close the loop.LineCommandParameter 1Parameter 2Comments10Loop Bottom Start
SECTION 8COMMAND DESCRIPTIONS42 START/ STOP COMMANDS This grouping of command pertains to functions that will Start and Stop the Motion. All axis motion begins at the specified Base Speed and then ramps up to Max Speed. If the motion is definite, the axis will then ramp from Max Speed down to Base Speed to complete the move. Setting Motor Base, Max, and Ramping Speeds is discussed in the Motor Parameter Command Section. GO ABSOLUTE COMMAND This Command is a move-to-position command meaning that it will move to the position specified. For instance, in the below example it will cause the motor to go to position 0. If the Motor Position is at 2500, the Go Absolute Command of 0 will move to the position and the Direction Register would be 0 (CCW Direction).LineCommandParameter 1Parameter 2Comments1X Go Absolute0GO RELATIVE COMMAND This Command is a move-a-distance command meaning that it will move the distance set in the Go Relative Command. For instance, in the example below it will cause the motor to go 1000 steps in the CCW directionLineCommandParameter 1Parameter 2Comments1X Dir -2X Go Relative1000HOME COMMAND This Command will cause the motor to move continuously in the direction specified by a Direction Command until a Home limit switch is hit. (Refer to the HOME TYPE COMMAND for Home Types available.)LineCommandParameter 1Parameter 2Comments1X Dir -2X Home0HOME TYPE COMMAND This Command specifies the type of Homing that will be executed when a Home Command is executed. There are 3 types of Homing. Home Type 0 This will rotate continuously in the appropriate direction and speed until a Soft Limit Switch is active. It will then Ramp Down to Base Speed, and then Stop when the Home Limit Switch is active. Home Type 1 This will rotate continuously in the appropriate direction and speed until a Home Limit Switch is active. It will then Ramp Down to Base Speed, Stop and instantly reverse direction. It will then continue in this reversed direction and then Stop when the Home Limit Switch is once again inactive. This will stop on the ‘negative edge’ of the switch only, so the switch can be passed on ramp down and then hit again in the reverse direction stopping after it comes off the switch. This is most useful for taking backlash out of a leadscrew. Home Type 2 This will rotate continuously in the appropriate direction and at Base Speed until a Marker Pulse is active. This is typically called Channel Z from an encoder. Although the intent of this Homing is for use with an encoder, it is not limited by it. A simple switch will work as well.
SECTION 8COMMAND DESCRIPTIONS43 SLEW COMMAND This Command will cause the motor to move continuously in the direction specified by a Direction Command.LineCommandParameter 1Parameter 2Comments1X Dir -2X SlewSTOP HARD COMMAND This Command will cause the motion to stop immediately without any ramping down. If the Motor was moving at speeds higher than what it can reliably start and stop at, it is likely that the Motor will not be at the position that the Position Register reads.CommandParameter 1Parameter 2Comments1X Stop HardSTOP SOFT COMMAND This Command will cause the motion to stop immediately after ramping down. This causes the Motor to ramp down to Base Speed before stopping. This gentler way of stopping is not likely to cause positioning errors like the Stop Hard Command would.CommandParameter 1Parameter 2Comments1X Stop SoftWAIT MOTOR COMMAND This Command waits for the Motor to stop moving before continuing to the next line in the program.LineCommandParameter 1Parameter 2Comments1Go Relative10002Wait Motor3Set OutputsON:1,
SECTION 8COMMAND DESCRIPTIONS44 MOTION PROFILE The Motor Commands are those commands that affect the motion of the Motor. These commands will set the position that the motor is at, the distance it is to travel, the speed at which it will travel, and how long current will remain in the motor after it has stopped. BASE SPEED COMMAND (1 to 2,500,000) This Command will determine the speed at which the Motor starts at. Step Motors can go from rest immediately to a speed in the motors start/stop region which varies from motor to motor. This is similar to a Ski-Lift taking skiers up to the top of a mountain. The lift is traveling at a certain speed and the skiers attach themselves to the lift (usually by sitting down) and instantly are going the Ski-Lifts velocity. A step motor can start from rest in a similar fashion, and this starting speed is called the Base Speed.LineCommandParameter 1Parameter 2Comments1X Base Speed500CURRENT HOLD COMMAND This Command specifies that current in the motor can be turned OFF=0 or ON=1 during the program execution. The example holds current off in the X-axis motor after a motion is completed.LineCommandParameter 1Parameter 2CommentsX Current Hold0DIR- COMMAND This command will cause the Direction Register to be 0, and will cause motion to take place in the Counter Clock Wise Direction. DIR+ COMMAND This command will cause the Direction Register to be 0, and will cause motion to take place in the Clock Wise Direction. MAX SPEED COMMAND (1 to 2,500,000) This Command will determine the speed at which the Motor ramps up to from the Base Speed. To go speeds over 20,000 steps/second, the Speed Limit Command must be used. This is to protect Half-Step Drivers that can be damaged at speeds above 40,000 steps/second.LineCommandParameter 1Parameter 2Comments1X Max SpeedPOSITION COMMAND (-8,388,607 - +8,388,608) This Command is used to set the Position Register. When the unit is powered up, the Position Register will initially be 0. When a move takes place, like a Go Relative 1000 in the CW Direction, the Position Register will count up from 0 to 1000 as the move takes place. If a subsequent move takes place, the Position Register will then count up from 1000 to 2000. This Register will always keep track of where the motor was instructed to be. Remember if the motor stalls for some reason, this register will not reflect the true position of the motor. For a close loop system, an encoder must be used. The sample below will home your system, wait for the motor to stop running then sets the position register equal to zero.LineCommandParameter 1Parameter 2Comments1X Home12Wait Motor3X Postion0
SECTION 8COMMAND DESCRIPTIONS45 ACCEL/DECEL COMMAND( 1 - 1,000,000 ) This defines the acceleration/deceleration (or ramping) of the motor.LineCommandParameter 1Parameter 2Comments1X Accel/Decel500SPEED LIMIT COMMAND This Command sets the limit for the Base Speed and the Max Speed. The Default value is 20,000. This should always be kept at the highest speed that the motor would ever be run at. SLOW JOG SPEED COMMAND This Command presets the Run Speed when the users sets the Slow Jog+ or Fast Jog- to 0VDC. This function is usually used to manually position the motor. FAST JOG SPEED COMMAND This Command presets the Run Speed when the users sets the Fast Jog+ or Fast Jog- to 0VDC. This function is usually used to manually position the motor.
SECTION 8COMMAND DESCRIPTIONS46 OUTPUT COMMANDS SET OUTPUT COMMAND This will Activate or Deactivate any of the 24 Outputs. Select only the Outputs that are going to be changed, and leave the other Outputs as Don’t Cares(n/c). The SMC40 has 24 programmable open-collector out puts. When an open-collector is set ON, the voltage reading is about 0.7Vdc. When the output is set OFF, the reading is an OPEN. Note: Only five outputs can be turned on per line. The following command line can be repeated to turn more than five outputs when required.LineCommandParameter 1Parameter 2Comments1Set OutputON:1,2,10,18OFF:5,6,12,20In this example SET OUTPUT sets outputs 1,2,10, and 18 ON. On the same command line, outputs 5, 6,12,and 20 are set OFF. Note, that a SET OUTPUT command might be used with a conditional IF Statement. WARNING: Always use a Diode (Motorola 1N4002 or Equivalent) to clamp any Inductive Loads (Relays, Solenoids, etc.) due to fly back voltages. Refer to Specifications for further information. USER ENTRY COMMANDS USER ENTRY COMMAND This Command allows any Commands to be entered that the Software does not directly support. See the Direct Programming Guide discussed in this manual, and the SMC40.WRI Document on the Intelligent Indexer Disk for more information. Register Manipulation The Read Value (RV) Register will read a value and temporarily store it. Note that any register comparison that needs to be evaluated may need to be stored into a defined Register (R1- R99) to avoid losing the stored number. NOTE: The “IF THEN” Command may compare Register to a known value without having to reassign it but you may lose the RV Register value if any MATH or other Read Values Commands are in your program. Example: Load the register value RV into R1 and increment register R2 using Math Equations.LineCommandParameter 1Parameter 2Comments
SECTION 8COMMAND DESCRIPTIONS47 1User EntryR1=RV2User EntryR2=R1+1USER ENTRY COMMANDS (CONTINUED) PROGRAM 1, 2, 3 Start Program 1, 2, 3 When the Menu Item Program Start is executed, it starts only the Main Program. To start Program 1, the Command is XPA=1, to start Program 2, the Command is YPA=1, and to start Program 3, the Command is ZPA=1. Example: To Start Program 1LineCommandParameter 1Parameter 2Comments1Start Program 1Stop Program 1, 2, 3 (Stopping a Program) When the Menu Item Program Start is executed, it starts only the Main Program. To stop Program 1, the Command is XPA=0, to stop Program 2, the Command is YPA=0, and to stop Program 3, the Command is ZPA=0. Example: To start Program 1LineCommandParameter 1Parameter 2Comments1Stop Program 1
SECTION 8COMMAND DESCRIPTIONS48 ENCODER COMMANDS ENCODER AUTOCORRECT ( Enable/ Disable) This Command will set the Encoder Autocorrection Bit. A 1 will cause the Autocorrection feature to be enabled, and a 0 will cause it to be disabled. If the Autocorrection feature is enabled, after the completion of a move, the Encoder Register will be verified to see if it is in the correct position. If it is not, a correction move will be implemented. See Encoder Retries. Note: Anytime the ER register, EP register, EW register, or the EM register is written to, the Encoder Auto Correction feature is disabled to prevent spontaneous Motor Errors - hence it will need to be re-enabled. Make sure to use the Encoder Auto Correction command as the last encoder line command to avoid disabling.LineCommandParameter 1Parameter 2CommentsEnc Auto1ENCODER DELAY This Command will set the dwell time that the unit will wait before checking the Encoder Register, after the end of the move. This will take out the ringing that might be associated with the mechanics of the system. The range for this is between 1 and 1000 and is in 0.001 seconds [1000 is 1 second]. (Encoder Delay is used to allow for the motor settling time after a move.) Note: Anytime the ER register is written to, the Encoder Stall Detection feature is disabled to prevent spontaneous Motor Errors - hence it will need to be re-enabled.LineCommandParameter 1Parameter 2Comments1Enc Delay500½ secondENCODER POSITION (EP) This Command will set the starting point of the Encoder Position. Note: Anytime the EP register is written to, the Stall Detection and Encoder Auto - Correction features are disabled to prevent spontaneous Motor Errors - hence they will need to be re - enabled.LineCommandParameter 1Parameter 2Comments1Enc Position0Position 0 can be the Home PositionENCODER RETRIES (ER) This Command will set the number of Encoder Retries or number of tries (0 - 250) when autocorrecting. Note: Anytime the ER register is written to, the Encoder AutoCorrection feature is disabled to prevent spontaneous Motor Errors - hence it will need to be re - enabled.LineCommandParameter 1Parameter 2Comments1Enc Retries5retry 5 times
SECTION 8COMMAND DESCRIPTIONS49 ENCODER RATIO (EM) This Command will set the Ratio between the Motor and the Encoder. The ENCODER RATIO register is the conversion factor from 1 motor step to 1 encoder quadrature pulse for the associated indexer - this accounts for any gearing mechanism between the motor and the encoder. Note: Anytime the ENCODER RATIO (EM ) register is written to, the Encoder AutoCorrection feature is disabled to prevent spontaneous Motor Errors - hence it will need to be re - enabled. { Negative values represent when the encoder direction is opposite to the motors direction.}LineCommandParameter 1Parameter 2Comments1Enc Ratio2.75ENCODER WINDOW (EW) This Command will set the Encoder Window which allows the user to determine the number of steps the motor can be off before correcting. ( 1- 1,677,215) Example: The motor missed its stop position by 2 steps. This will mean if the user set the Encoder Window to 3, the encoder will not correct its position. Note: Anytime the ENCODER WINDOW (EW ) register is written to, the Encoder AutoCorrection feature is disabled to prevent spontaneous Motor Errors - hence it will need to be re - enabled.LineCommandParameter 1Parameter 2Comments1Enc Window3NOTE: Any Advanced Programming questions should be discussed with the factory direct.
SECTION 9DIRECT PROGRAMMING50 SECTION 9 – DIRECT PROGRAMMING ALPHABETIC QUICK REFERENCE LIST COMMAND TYPECOMMANDDESCRIPTIONMOTIONMAMotor Accel/Decel [X/Y/Z]PROFILEMBMotor Base Speed [X/Y/Z] MMMotor Max Speed [X/Y/Z] MSMotor Speed Limit [X/Y/Z] MFMotor Fast Jog Speed [X/Y/Z] MJMotor Slow Jog Speed [X/Y/Z] HTHome Type [X/Y/Z] D-Motor Direction - D+Motor Direction + MNMotor Number [X/Y/Z] MPMotor Position [X/Y/Z] START/STOPGAGo Absolute [X/Y/Z]MOTIONGHGo Home [X/Y/Z] GRGo Relative [X/Y/Z] GSGo Slew [X/Y/Z] H-Hard- limit input [X/Y/Z] H+Hard+ limit input [X/Y/Z] SAStop All Indexers SHStop Hard [X/Y/Z] SISoft Limit Input[X/Y/Z] SLSoft Limits Enable [X/Y/Z] SSStop Soft[X/Y/Z] MOTION STATUSMCMotion Complete [X/Y/Z]MDMotor Direction [X/Y/Z] MEMotor Error Code [X/Y/Z] MVMoving [X/Y/Z] WMWait Motor [X/Y/Z] ABAt Base Speed Bit [X/Y/Z] ADAt ramping Down Bit [X/Y/Z] AFAt Fast Jog Bit [X/Y/Z] AJAt Slow Jog Bit [X/Y/Z] AMAt Maximum Speed Bit [X/Y/Z] ARAt auto-correct Retry Bit [X/Y/Z] ASAt Speed [X/Y/Z] AUAt ramping Up Bit [X/Y/Z] INPUT/OUTPUTOOutputs (1-24)OEOutputs External Module (O25 - O48) OROutput Register IInputs (1-96) IOBi-directional Input/Output (IO1- IO24) IRInput Register (I1 -I24) EXPANSIONIAInput A module (I25 -I48)IBInput B module (I49 -I72) ICInput C module (I73 -I96) TAThumbwheel A Module TBThumbwheel B Module TCThumbwheel C Module PROGRAMMINGPAProgram Autostart [X/Y/Z]PIProgram Insert [X/Y/Z] PCProgram Clear [X/Y/Z] PDProgram Delete [X/Y/Z] PEProgram Edit [X/Y/Z] PMProgram Memory available PQPrograms Quit AllPRProgram Run [X/Y/Z] PSProgram Start [X/Y/Z] PTProgram Trace [X/Y/Z] NONo Operation PPProgram Pause PWProgram Window Size PLProgram List [X/Y/Z] PNProgram Instruction Number [X/Y/Z] PBProgram Brief Listing TERMINALRKRead Key From TerminalRTSRTS to Send RVRead Value WKWrite Key WTWrite Text WVWrite Value CTSClear To Send BRANCHINGBBBranch Breakpoint& LOOPINGBEBranch End of Program BFBranch if False BGBranch Goto BLBranch Loop BQBranch Quit BRBranch Return BSBranch Subroutine BTBranch if True FLFor Loop IF IF Condition REGISTERSBBits (1-100)& BITSR#Indirect Register RRegisters (1-100) RSRead Value Scale Factor B#Indirect Bit MATHB?Pattern MatchB-result Bitwise NOT B%result Bitwise XOR B+result Bitwise OR B*result Bitwise AND GTGreater than Flag LTLess than Flag RPPositive Flag R/Result Divide R?Result compare RFResult fraction RIResult Integer R+Result add R*Result multiply R%Result modulus RKRead Key RNNegative Flag ROOverflow Flag R-Result Subtract RRResult Register RTSquare Root RZResult Zero Flag EQEquals Flag