Anaheim Stepper 23MDSI Series Stepper MotorDriverController Users Guide
Have a look at the manual Anaheim Stepper 23MDSI Series Stepper MotorDriverController 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+.
11 Program Window Motion ProfileSelect motion profiles 1 or 2. Send Accel/DecelSend the acceleration & deceleration parameter to the indexer. (steps/sec2) Send Base SpeedSend the base speed parameter to the indexer. (steps/sec) Send Max SpeedSend the maximum speed parameter to the indexer. (steps/sec) Send Index NumberSend the index number parameter to the indexer. (steps) Send Complete TimeSend the complete time parameter to the indexer. (useconds) Begin IndexMotor will ramp up to maximum speed and keep moving until a limit switch\ is triggered or the index is complete. Soft LimitMotor will ramp down to base speed and continue running until the index \ is complete. Hard LimitStop any motor motion. DirectionSet direction to clockwise or counter-clockwise. Microstep ResolutionSet microstep resolution to divide by 1, 2, 4, or 8. Select AxisSet the axis in the software for which 23MDSI unit to communicate with Define AxisSets the axis in the 23MDSI. Verify ParametersUpdates and displays controllers parameters and resets the error codes. June 2007#L010273
12 Direct Talk Mode Direct mode is used to directly control the motion for real time movemen\ ts through serial communication. This mode is used mainly to program the parameters and for checking the movement of the motor. The 23MDSI Series has 16 commands which are easy to remember for direct movement of a step\ motor. COM Port Settings Baud Rate: 38400 Parity: None Data Bits: 8 Stop Bits: 1 Flow Control: Xon/Xoff Unit Selection In order to select a unit the @ command followed by 0 (address of the u\ nit) must be sent. NOTE: There should be no spaces between the @ and the 0. How to select the unit: @0 (Unit is selected) How to get a response from the unit: @0$ (Carriage Return) After the $ command, the pulse generator will return a SMSI30 + the curr\ ent version number. Note: In direct talk mode each command is followed by a carriage return.\ The unit communicates in half duplex mode, therefore proper setup of hyp\ er terminal is necessary to view char- acters, if characters are to be echoed back to the screen. Instructions All instructions require that no spaces be sent between the command and the parameter followed by a carriage return. The commands are also case sensitive and are all sent as capitals. Command Summary: A - Acceleration/Deceleration B - Base Speed G - Go (Index) H - Hard Limit M - Max Speed N - Index Number R - Microstep Resolution S - Soft Limit T - Complete Time V - Verify + - Clockwise Direction - - Counterclockwise Direction $ - Version Number Register ! - Error Codes Register % - Verify Controller Address ~ - Set Controller Address June 2007#L010273
13 $ - Version Number Register Format : $ Description: This command requests the 23MDSI to return the version number. ! - Error Codes Register Format : ! Description: This command requests the 23MDSI to get the current error code and print it to the screen. +/- - Direction Format: + or - Description: This command sets the direction output. A “+” sets the output to clockwise, and a “-” sets the output to counterclockwise. This must be done when the indexer is not busy. This value is saved in the EEProm for stand-alone use. A - Acceleration/Deceleration Format: A#_[value] - where # is the motion profile number 1 or 2 Sample: A1_10000 Accel of profile 1 equals 10000 Description: This command sets the acceleration profile which can be an integer value between 100 and 9,999,999. These values are saved in the EEProm for stand-alone use. Range: 100 - 9,999,999 B - Base Speed Format: B#_[value] - where # is the motion profile number 1 or 2 Sample: B2_500 Base Speed of profile 2 equals 500 Description: This command sets the base (start) speed for motion. This value must be set before mo- tion begins and be less then the maximum speed. The pulses will ramp down to this speed after a soft limit is triggered and run at this speed until a hard limit\ is triggered or the index has finished. These values are saved in the EEProm for stand-alone use. Range: 1 - 5000 G - Go Index (Run) Format : G# - where # is the speed profile number 1 or 2 Description: This command will send clocks out to the pulse generator. The only command that can stop the clocks is H (stop motion). The S (soft limit) command will make the pulses go from max speed to base speed. Motion can also be stopped by using the li\ mit switch inputs. The ramp profile is specified by the B (base speed), M (max speed), and A (accel eration/deceleration) commands. June 2007#L010273
14 H - Hard Limit or Stop Motion Format: H Description: This command will stop all motion. It can only be used when pulses are \ running. M - Max Speed Format: M#_[value] - where # is the motion profile number 1 or 2 Sample: M2_10000 Max Speed of profile 2 equals 10000 Description: This command sets the maximum (running) speed for motion. This value must be set before motion begins and be equal or greater than the base speed. The motor will run at this speed until a soft limit or a hard limit is triggered. These values are saved in the EEProm for stand-alone use. Range: 1 - 50,000 N - Index Number Format: N#_[value] - where # is the motion profile number 1 or 2 Sample: N1_10000 Index number of profile 1 equals 10000 Description: This command sets the number of pulses to index for the motion profile. This value must be set before motion begins. These values are saved in the EEProm for stand-alone use. Range: 0 - 8,388,607 R - Microstepping Resolution Description: This command enables the user to select the desired resolution for the m\ icrostep ping driver. Divisions for the driver are Full step (1), Half step (2), Quarte\ r step (4), and Eighth step (8). This value is saved in the EEProm for stand-alone use. Format: R# - where # is 1, 2, 4, or 8 S - Stop Soft Format: S Description: This command will cause the indexer to ramp down to base speed and run until the index is complete or a hard limit is activated. It can only be used when pulses are running. June 2007#L010273
15 T - Complete Time Format: T#_[value] - where # is the motion profile number 1 or 2 Sample: T2_100 Complete time of profile 2 equals 100 uSeconds Description: This command sets the time for an active complete siganal after the unit has finished indexing for the motion profile. The number is enterd as microsecond. This value must be set before motion begins. These values are saved in the EEProm for standalone use. Range: 0 - 1000 V - Verify Description: This command can be used with most commands to verify the register conte\ nts. This is a read only command. Valid Commands are: A, B, D, M, N, R, T and +. Format: V[command] This format is good for R and +. R - If a 1 is sent back then the driver is in Full step mode. If a 2 is sent\ back then the driver is in Half step mode. If a 4 is sent back then the driver is in Quarter ste\ p If mode. If an 8 is sent back then the driver is in Eighth step mode. + - If a 1 is sent back then the direction is clockwise. If a 0 is sent bac\ k then the direction is counterclockwise. Sample: V+ Verification of Direction is prompted. Format: V[command]# - where # is the speed profile number 1 or 2 This format is good for A, B, M, N and T. A# - Verify Acceleration/Decceleration for given speed profile. B# - Verify Base speed for given speed profile. M# - Verify Max speed for given speed profile. N# - Verify Index number for given speed profile. T# - Verify Complete Time for given speed profile. % - Verify address register Format : % (No address is needed before this function. @% will return the address)\ Description: This command requests the 23MDSI Series controller to return its internal address num- ber to the PC or PLC. ~ - Set address register Format : ~[value] (No address is needed before this function. @~[value] will set the addr\ ess) Description: This command sets the address for communication inside the 23MDSI Series\ controller. Range: 0 - 99 June 2007#L010273
16 Visual Basic Direct Mode Programming Examples Example 1: This Example is for Axis=0, and Profile=1 DimConst DefaultTimeout As Single = 0.5 frmMain.MSComm1.Output = “@0A1_100000” & Chr$(13) ‘Set Acceleration Pause DefaultTimeout frmMain.MSComm1.Output = “@0B1_1000” & Chr$(13) ‘Set Base Speed Pause DefaultTimeout frmMain.MSComm1.Output = “@0M1_4000” & Chr$(13) ‘Set Maximum Speed Pause DefaultTimeout frmMain.MSComm1.Output = “@0N1_500” & Chr$(13) ‘Set Index Number Pause DefaultTimeout frmMain.MSComm1.Output = “@0T1_100” & Chr$(13) ‘Set Complete Time Pause DefaultTimeout frmMain.MSComm1.Output = “@0R8” & Chr$(13) ‘Set Microstep Resolution Pause DefaultTimeout frmMain.MSComm1.Output = “@0+” & Chr$(13) ‘Set Direction CW Pause DefaultTimeout frmMain.MSComm1.Output = “@0G1” & Chr$(13) ‘Start the Index Pause DefaultTimeout Example 2: This Example recieves the error code and Version Number from Axis3 Dim Const DefaultTimeout As Single = 0.5 frmMain.MSComm1.Output = “@3!” & Chr$(13) Pause ShortTimeOut MsgBox ReceiveAscii() frmMain.MSComm1.Output = “@3$” & Chr$(13) Pause ShortTimeOut MsgBox ReceiveAscii() Function ReceiveAscii() As String ‘wait for the incoming data to get to the buffer Dim BeginTime As Single Dim A As Integer Dim B As Integer BeginTime = Timer While Main.MSComm1.InBufferCount = 0 DoEvents If Timer - BeginTime > 0.1 Then GoTo ExitRoutine1 Wend A = 0: B = Main.MSComm1.InBufferCount While A B A = Main.MSComm1.InBufferCount Pause 0.02 ‘ Fixed time value B = Main.MSComm1.InBufferCount Wend ReceiveAscii = Main.MSComm1.Input Exit Function June 2007#L010273
17 Troubleshooting Problem: Can not establish communications with the indexer. Possible Solutions: 1) Make sure the indexer has power. Is the Green LED on. 2) Check RS232 connections. 3) Check for loose cable connection either on the pulse generator or CO\ M Port. 4) Was the software installed successfully? 5) Go to Setup | Communication Settings and verify COM port settings. 6) Click on Connect icon to communicate with the indexer. 9) If problems still exist, contact Anaheim Automation Tech Support. Problem: There is no power to the indexer. Possible Solutions: 1) Is the indexer connected to the appropriate power supply? 2) Check for any blown fuses in line with the indexer. 3) If problems still exist, contact Anaheim Automation at 714-992-6990. Problem: The indexer has a fault condition. Possible Solutions: 1) To clear an error use either the SMPG-SMSI software or the direct mode co\ mmand. 2) The SMPG-SMSI software can clear an error in the motion tab section by c\ licking on the Verify Parameters button. 3) The direct mode command “!” can clear an error by prompting indexe\ r to serially send the error code back to the user. Example: @0! (carriage return) Description: Address the unit by typing @ followed by a 0 (address number) an ! (Error Codes Register) and a carriage return. Note: The error code is returned in binary coded decimal format. If two errors were received their binary values would be added together. June 2007#L010273
18 Error CodeTypeDescription 1Recieve Overflow ErrorThe serial communications had a recieving error. This is an internal error caused by the computer. 2Range ErrorThere was an invalid number of characters sent to the pulse generator. Check to see if the parameters are invalid for the command that was sent. 4Command ErrorA bad command was sent to the pulse generator. Please check to see that the com- mand being sent is valid, or that the pulse generator is not running. 8Transmitt ErrorTo many parameters sent back to the PC. This is an internal error caused by the eeprom. 16Motor ErrorMotor speed profiles are set incorrectly. Please make sure that the base speed is less than the max speed and that the speeds are within their valid range\ s. 32Zero Parameters ErrorThere were no parameters sent to the pulse generator. A command was sent to the pulse generator that expected to see parameters after the command. Error Codes ASCII SymbolHex ValueASCII SymbolHex ValueASCII SymbolHex ValueASCII SymbolHex Value Carriage Return0D636H48!21 030737M4D$24 131838N4E%25 232939R52+2B 333A41S53-2D 434B42T54_5F 535G47V56~7E ASCII Table for Direct Mode June 2007#L010273
19 Multiple Axes Setup for 23MDSI Series 1. Power up the 1st unit ONLY and connect the RS485 connection to the 1st unit. 2. Click the “Define Axis” button and enter 0. 3. Click the “Select Axis” button and enter 0. 4. Under Setup menu click “Connect”. 5. Text appears on top of the SMPG-SMSI Software “The Unit is Connected” and the version of the firmware is displayed as well. This text should turn blue when connected. 6. Under Setup menu click “Disconnect”. 7. Text appears on top of the SMPG-SMSI Software “The Unit is NOT Connected”. This text should turn red when disconnected. 8. POWER DOWN and Physically disconnect the 1st Unit from both power and\ RS485 Connections. 9. Power up the 2nd unit ONLY and connect the RS485 connection to the 2nd unit. 10. Click the “Define Axis” button and enter 1. 11. Click the “Select Axis” button and enter 1. 12. Under Setup menu click “Connect”. 13. Text appears on top of the SMPG-SMSI Software “The Unit is Connected” and the version of the firmware is displayed as well. This text should turn blue when connected. 14. Under Setup menu click “Disconnect”. 15. Text appears on top of the SMPG-SMSI Software “The Unit is NOT Connected”. This text should turn red when disconnected. 16. POWER DOWN and Physically disconnect the 2nd Unit from both power an\ d RS485 Connections. 17. For more then two units, continue steps 9 thru 16 incrementing the a\ xis number for each unit. 18. Now reconnect the power and RS485 connections to ALL units. 19. Power up ALL Units. 20. You should now be able to connect individually to any Axis with the RS485 converter from one Serial Port. Use the “Select Axis” button to connect to each individual axis. June 2007#L010273
20 Copyright Copyright 2005 by Anaheim Automation. All rights reserved. No part of this publication may be reproduced, trans- mitted, transcribed, stored in a retrieval system, or translated into any language, in any form or by any means, electronic, mechanical, magnetic, optical, chemical, manual, or otherwise, without the prior wri\ tten permission of Anaheim Automation, 910 East Orangefair Lane, CA, 92801. The only exception to this would be use of the program examples in this manual. Disclaimer Though every effort has been made to supply complete and accurate information in this manual, the contents are subject to change without notice or obligation to inform the buyer. In no event will Anaheim Automation be liable for direct, indirect, special, incidental, or consequential damages arising out of the use or inability to use the product or documentation. Limited Warranty All Anaheim Automation products are warranted against defects in workmanship, materials and construction, when used under Normal Operating Conditions and when used in accordance with specifications. This warranty shall be in effect for a period of twelve months from the date of purchase or eighteen months from the date of manufacture, whichever comes first. Warranty provisions may be voided if the products are subjected to physical damage or abuse. Anaheim Automation will repair or replace at its option, any of its products which have been found to be defective and are within the warranty period, provided that the item is shipped freight prepaid, with RMA (return material authorization), to Anaheim Automation’s plant in Anaheim, California. Trademarks Control Link and Driver Pack are registered trademarks of Anaheim Automation. IBM PC is a registered trademark of International Business Machines, Inc\ . ANAHEIM AUTOMATION June 2007#L010273