Home

User Manual Rev 1.18

image

Contents

1. Bit Description 0 Pulse 1 Direction 2 Not Used 3 Not Used 4 Not Used 5 Home 6 Limit 7 Z Index 8 9 Encoder decoding 00 1X 01 2X 10 4X 10 Digital Input 11 Digital Output 12 Enable Output 13 Jump to Line 0 on errorj Table 6 2 tUsed for error handling within standalone operation If this bit is on the line that is executed after SUB31 is called will be line 0 Otherwise it will be the line that caused the error Limits If positive limit switch is triggered while moving in positive direction the motor will immediately stop and the motor status bit for positive limit error is set The same is for the negative limit while moving in the negative direction To read the limit switch input status use the MSTX MSTY command Once the limit error is set use the CLR axis command to clear the error The limit error states can be ignored by setting IERR 1 In this case the motor will still stop when the appropriate switch is triggered however it will not enter an error state Digital Inputs Outputs and Enable Outputs NSC A2L module comes with 8 digital inputs and 8 digital outputs and 4 enable outputs Inputs Read digital input status using the DI command NSC A2L Manual page 39 Rev 1 18 neujmark systems inc Digital input values can also be referenced one bit at a time by the DI 1 8 commands Note that the indexes are 1 based for the bit references i e DI1 refers to bit 0 not bit 1
2. Bit Description 5 d 0 Digital Input 1 DI 1 Digital Input 2 DI2 2 Digital Input 3 DI3 3 Digital Input 4 DI4 4 Digital Input 5 DIS 5 Digital Input 6 DI6 6 Digital Input 7 DI7 7 Digital Input 8 DI8 Table 6 3 Digital Outputs The digital output status can be controlled using the DO command DO value must be within the range of 0 255 Digital output values can also be referenced one bit at a time by the DO 1 8 commands Note that the indexes are 1 based for the bit references i e DO1 refers to bit 0 not bit 1 Bit Description Pasties d 0 Digital Output 1 DOI 1 Digital Output 2 DO2 2 Digital Output 3 DO3 3 Digital Output 4 DO4 4 Digital Output 5 DOS 5 Digital Output 6 DO6 6 Digital Output 7 DO7 7 Digital Output 8 DO8 Table 6 4 The initial state of the digital outputs can be defined by setting the DOBOOT register to the desired initial digital output value The value is stored to flash memory once the STORE command is issued Enable Outputs The enable output status can be controlled using the EO command EO value must be within the range of 0 3 NSC A2L Manual page 40 Rev 1 18 neujmark systems inc Enable output values can also be referenced one bit at a time by the EO 1 2 commands Note that the indexes are 1 based for the bit references i e EO1 refers to bit 0 not bit 1 re Bit Wise Bit Description C 0 Enable Output 1 X axis EO1 l E
3. ZY ZH Homes both X and Y axis using the home and Z index input OK in the positive direction ZH Homes both X and Y axis using the home and Z index input OK in the negative direction ZHX Homes X Y axis using the home and Z index input in the OK ZHY positive direction ZHX Homes X Y axis using the home and Z index input in the OK ZHY negative direction Error Codes Table 8 0 If an ASCII command cannot be processed by the NSC A2L the controller will reply with an error code See below for possible error responses Error Code Description Command The ASCII command is not understood by the NSC A2L ABS INC is not in T command is invalid because a target position move is not in operation operation Clear SNL Error A move command has been issued while the axis is in StepNLoop error ICommandOn On the fly speed change attempted during an interpolated move Index out of Range The index for the command sent to the controller is not valid Invalid Answer Invalid parameter input Low speed out of range Low speed parameter is out of range Moving A move or position change command is sent while the NSC A2L is outputting pulses S curve on Cannot perform SSPD move because s curve is enabled Speed out of range SSPD move parameter is out of the range of the SSPDM speed window SSPD Mode not Initialized An attempt to perform an on the fly speed cha
4. 8 Click OK when done The controller now has correct parameters and is ready to be use NSC A2L Manual page 18 Rev 1 18 neujmark systems inc 6 Software Overview Main Control Screen Newmark Systems Inc NSC A2L File Tools Help Status Position Encoder Speed Motor Status Clear Status StepNLoop Units X mm Delta Y Degrees Control Target High Speed LowSpeed Acceleration Y X 235 12 000 0 100 300 ms V Enable Motor Y Y 54 36 12 000 0 100 300 ms V Enable Motor 3 Absolute Zero Encoder gt Increment Figure 5 1 NSC A2L Manual page 19 Rev 1 18 1 gt 2 P 3 gt 4 gt Motor Status 5 gt 6 gt neujmark systems inc Status Display 7 Status y Y Axis K Position 21 7800 Limit O O Home Y OQ Encoder a O O Speed Index O O AE x IDLE Clear Status StepNLoop NA O Units X mm Y mm Delta 0 0000 Display Motor Steps Figure 5 2 S 8 9 Current motor position X Y axis Current encoder position X Y axis Current speed X Y axis Motor status X Y axis i ii iii iv IDLE Motor is not moving ACCEL Motor is accelerating CONST Motor is moving at constant speed DECEL Motor is decelerating 5 StepNLoop status i i i iv p d 0 i ca vi i vili V E e RK X xiii XIV NA StepNLoop is disabled IDLE Motor is
5. Y 20 1 100 600 600 600 600 Enable Joystick Figure 5 11 NSC A2L Manual page 28 Rev 1 18 neujmark systems inc Variables 5555555539 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 GSAS SS S S S S S S S S SS SISI AAA z Figure 5 12 1 Current values of variables that cannot be stored to flash 2 Current values of variables that can be stored to flash 3 Send commands to the NSC A2L through this terminal NSC A2L Manual page 29 Rev 1 18 nevusgmark systems inc Program Editor 9 Program Editor File Edit Help Program Control sts Unit Converter X 7720 Steps lt gt 9 65 Y 1653 Steps lt gt 124 Download to Controller Upload From Controller Clear Code Figure 5 13 1 File Menu a New Clear the standalone program editor b Open Open a standalone program c Save Save a standalone program 2 Program Control a Run Standalone program is run b Stop Program is stopped c Pause Program that is running can be stopped NSC A2L Manual page 30 Rev 1 18 neujmark systems inc d Continue Program that is paused can be continued e XThread Open the Standalone Program Control for all standalone programs 3 Unit Converter Converts between motor steps and millimeters or inches This is useful when writing standalone programs 4 Text Program Text box for writing and editing a standalone program Programs must use motor s
6. Clears error of axis X ECLEARY Clears error of axis Y ELSE Description Perform ELSE condition check as a part of IF statement Syntax ELSE Examples IF V1 1 X1000 If V1 is 1 then move to 1000 WAITX ELSE X 1000 IF V1 is not 1 then move to 1000 WAITX ENDIF ELSEIF Description Perform ELSEIF condition check as a part of the IF statement Syntax ELSEIF Argument 1 Comparison Argument 2 Argument can be any of the following Numerical value Pulse or Encoder Position Digital Output Digital Input Enable Output NSC A2L Manual page 60 Rev 1 18 neujmark systems inc Motor Status Comparison can be any of the following gt lt gt lt l Examples IF V1 1 X1000 WAITX ELSEIF V1 2 X2000 WAITX ELSE X0 WAITX ENDIF END Description Equal to Greater than Less than Greater than or equal to Less than or equal to Not Equal to Indicate end of program Program status changes to idle when END is reached Note Subroutine definitions should be written AFTER the END statement Syntax END Examples X0 WAITX X1000 WAITX END ENDIF Description Indicates end of IF operation Syntax ENDIF Examples IF V1 1 X1000 WAITX ENDIF NSC A2L Manual page 61 Rev 1 18 neujmark systems inc ENDSUB Description Indicates end of subroutine When ENDSUB is reached the program returns to the previously called subroutine Note Subroutine 31 is reserved for error ha
7. V 24V 3K lej DI1 DI8 Home Limit Inputs Figure 4 4 NSC A2L Manual page 14 Rev 1 18 neujmark systems inc Encoder Inputs When connecting differential connector use Encoder A A B B Z index Z index channels When connecting single ended encoders use Encoder A B and Z index channels Analog Inputs Analog inputs are 0 to 5V range and 10 bit in resolution Using two analog inputs joystick control can be achieved The maximum source current for the analog inputs is 10mA Driver Current and Microstep Setting NSC A2L has two built in bipolar microstep drivers SW1 JP1 JP2 X axis X axis Y axis SW2 Y axis MS2 MS1 Figure 4 5 To set the current open up the top cover There are two dual row jumper headers JP1 for X axis and JP2 for Y axis There are four preset current settings 0 8A 0 7A 0 5A and 0 4A Any of these current setting can be selected using a jumper For custom current setting use the following formula to get the resistor value and solder across the custom current setting pins Resistor Value 4167 Current A 1000 NSC A2L Manual page 15 Rev 1 18 meumark systems inc For example to set the current to 0 3A resistor value will be 12 9K Ohm To set the microstep use the SW1 for X axis and SW2 for Y axis headers NSC A2L Manual 1 8 microstep Open Open Ya microstep Open Close Y microstep Close
8. To enable disable the SNL feature use the SL axis command To read the SNL status use SLS axis command to read the status See Table 6 9 for a list of the SLS axis return values rag Description 0 Idle 1 Moving 2 Correcting 3 Stopping 4 Aborting 5 Jogging 6 Homing 7 Z Homing 8 Correction range error To clear this NSC A2L Manual page 43 Rev 1 18 neujmark systems inc error use CLRS or CLR command 9 Correction attempt error To clear this error use CLRS or CLR command 10 Stall Error DX value has exceeded the correction range value To clear this error use CLRS or CLR command 11 Limit Error 12 N A 1 e SNL is not enabled 13 Limit homing Table 6 9 See Table 6 10 for SNL behavior within different scenarios SNL behavior SNL behavior motor is moving motor is idle 8 lt SLT Continue to monitor the DX axis In Position No correction 1s performed 6 gt SLT ed ar i t of Position A t AND Continue to monitor the DX axis ST yaaa 6 lt SLE performed Condition Stall Error Motor stops and Error Range Error Motor stops signals and error and signals and error Correction Atteint gt NA Max Attempt Error Motor stops SLA and signals and error Table 6 10 Key 6 Error between the target position and actual position SLT Tolerance range SLE Error range SLA Max correction attempt Notes Once SNL is
9. 0 L 2 L Figure A 1 1 ACC vs DEC 1 If the theoretical position where the controller begins deceleration is less than L 2 the acceleration value is used for both ramp up and ramp down This is regardless of the EDEC setting 2 ACC vs DEC 2 If the theoretical position where the controller begins constant speed is greater than L 2 the acceleration value is used for both ramp up and ramp down This is regardless of the EDEC setting 3 Triangle Profile If either 1 or 2 occur the velocity profile becomes triangle Maximum speed is reached at L 2 NSC A2L Manual page 83 Rev 1 18 neujmark systems inc Contact Information Newmark Systems Inc Inc 3159 Independence Dr Livermore CA 94551 925 373 8800 www Newmark Systems Inc technology com The information in this document is believed to be accurate at the time of publication but is subject to change without notice NSC A2L Manual page 84 Rev 1 18
10. Description Indicates the start of a program When END is reached the program is concluded Syntax PRG program number Examples PRG 0 Program 0 X8000 WAITX END PRG 1 Program 1 Y1000 WAITY END PS axis Description Read Get the current pulse position of an axis Syntax Read Variable PS Axis Conditional IF PS axis variable ENDIF IF PS axis value ENDIF Examples JOGX Jogs X axis to positive direction DELA Y 1000 Wait 1 second ABORT Stop with deceleration all axes including X axis V1 PSX Sets variable 1 to pulse X JOGY Jogs Y axis to positive direction V2 PSY Sets variable 2 to pulse Y SCV axis Description Read Get individual s curve enable Value is 0 or 1 Write Set individual s curve enable Range is from 0 or 1 Syntax Read variable SCV axis Write SCV axis 0 or 1 SCV axis variable Note If s curve is enabled for an axis on the fly speed feature can not be used for the corresponding axis NSC A2L Manual page 70 Rev 1 18 neujmark systems inc Examples SCVX 1 Sets X axis to use s curve acceleration on the fly speed change is NOT allowed for this axis SCVY 0 Sets Y axis to use s curve acceleration on the fly speed change is allowed for this axis SL axis Description Write Set individual StepNLoop enable Range is from 0 or 1 Syntax Write SL axis 0 or 1 Examples SLX 1 Enables StepNLoop con
11. 325K 815K 6 50 1 18 000 815K 1 6M 7 100 1 38 400 1 6M 3 2M 8 200 1 68 000 3 2M 6M 9 400 1 135 000 Table A 0 If StepNLoop is enabled the HSPD range values needs to be transposed from PPS pulse sec to EPS encoder counts sec using the following formula EPS PPS Step N Loop Ratio Acceleration Deceleration Range The allowable acceleration deceleration values depend on the LS and HS settings The minimum acceleration deceleration setting for a given high speed and low speed is shown in Table A 0 The maximum acceleration deceleration setting for a given high speed and low speed can be calculated using the formula Note The ACC parameter will be automatically adjusted if the value exceeds the allowable range Max ACC HS LS 8 x 1000 ms Figure A 0 Examples a If HSPD 20 000 pps LSPD 10 000 pps a Min acceleration allowable 1 ms b Max acceleration allowable 20 000 10000 775 x 1 000 ms 12 903 ms 12 9 sec b If HSPD 900 000 pps LSPD 9 000 pps NSC A2L Manual page 82 Rev 1 18 neu mark systems inc a Min acceleration allowable 1 ms b Max acceleration allowable 900 000 9 000 38 400 x 1000 ms 23 203 ms 23 3 sec Acceleration Deceleration Range Positional Move When dealing with positional moves the controller automatically calculates the appropriate acceleration and deceleration based on the following rules speed time gq S position
12. ENDSUB NSC A2L Manual page 63 Rev 1 18 neujmark systems inc HLHOME axis or Description Command Perform low speed homing using current high speed low speed and acceleration Syntax HLHOME Axis or Examples HLHOMEX Low speed homes X axis in positive direction WAITX HLHOMEY Low speed homes Y axis in negative direction WAITY HOME axis or Description Command Perform homing using current high speed low speed and acceleration Syntax HOME Axis or Examples HOMEX Homes X axis in positive direction HOMEY Homes Y axis in negative direction HSPD Description Read Gets high speed Value is in pulses second Write Sets high speed Value is in pulses second Range is from 1 to 6 000 000 Syntax Read variable HSPD Write HSPD value HSPD variable Conditional IF HSPD variable ENDIF IF HSPD value ENDIF Examples HSPD 10000 Sets the high speed to 10 000 pulses sec V1 2500 Sets the variable 1 to 2 500 HSPD V1 Sets the high speed to variable 1 value of 250 HSPD axis Description Read Gets individual high speed Value is in pulses second Write Sets individual high speed Value is in pulses second Range is from 1 to 6 000 000 Syntax NSC A2L Manual page 64 Rev 1 18 neujmark systems inc Read variable HSPD axis Write HSPD axis value HSPD axis variable Conditional IF HSPD axis variable ENDIF IF HSPD axi
13. S Curve Set s curve enable disable for X Y axis 3 Misc a Ignore Error Set the IERR register to ignore the limit error status 4 Boot Up a DO Boot EO Boot Set the digital and enable output configuration on boot up b Auto Run Have the specified standalone program run on boot up ES NSC A2L Manual page 25 Rev 1 18 nevusgmark systems inc 5 Device Name Set the name of the device Must be in the range of 2ED00 to 2ED99 Setup Parameters Homing Limit Correction Home Correction XAxis 1 0 YAxis 1 0 Return to Zero Figure 5 9 a Limit Correction Set the limit correction amount for the specified axis b Home Correction Set the home correction amount for the specified axis c Return to Zero Return to zero after a homing routine NSC A2L Manual page 26 Rev 1 18 neujmark systems inc Setup Parameters Encoder Encoder Multiplier XAxis Y Axis StepNLoop Parameters Ratio MaxAttempt Tolerance Error X 4 1000 008 1 Y 4 1000 008 A Figure 5 10 1 Set the encoder multiplier to 1X 2X 4X for X Y axis 2 StepNLoop Parameters X Y axis See StepNLoop section for further details NSC A2L Manual page 27 Rev 1 18 neujmark systems inc Setup Parameters Joystick Joystick Parameters X Y axis See joystick section for further details Joystick Parameters Max Speed Speed Delta Zero Tol Neg Outer Neglnner Poslnner Pos Outer X 20 1 100 600 600 600 600
14. Set RunOnBoot parameter See Table 6 11 SPC 0 1 Get program counter for standalone program 0 1275 SR 0 1 Value Control standalone program OK 0 Stop standalone program 1 Run standalone program 2 Pause standalone program 3 Continue standalone program SSPDX Value Set speed of X Y axis on the fly to Value OK SSPDY Value STOP Stops both X Y motor with deceleration OK STOPX Stops the motor with Deceleration OK STOPY STORE Store device settings to Flash See Table 6 12 OK TX value Perform on the fly target position change for the specified OK TY value axis TOC Returns the time counter ms 32 bit number TOC value Sets the time out counter ms OK V 0 63 Returns value of indicated general purpose variable register 32 bit number V 0 63 F Value Sets value to general purpose variable register OK VER Returns Version VXXX X Value Individual move command If in ABS mode move to OK position value If in INC mode increase position by value Y Value Individual move command If in ABS mode move to OK position value If in INC mode increase position by value Z Homes both X and Y axis using the Z index in the positive OK direction Z Homes both X and Y axis using the Z index in the negative OK direction ZX Homes X Y axis using the Z index in the positive direction OK ZY ZX Homes X Y axis using the Z index in the negative direction OK NSC A2L Manual page 53 Rev 1 18 neujmark systems inc
15. systems inc 8 Communication NSC A2L USB communication is USB 2 0 compliant Communication between the PC and NSC A2L is done using Windows compatible DLL API function calls as shown below Windows programming language such as Visual BASIC Visual C LABView or any other programming language that can use DLL can be used to communicate with the Performax module Typical communication transaction time between PC and NSC A2L for sending a command from a PC and getting a reply from NSC A2L using the fnPerformaxComSendRecv API function is in single digit milliseconds This value will vary with CPU speed of PC and the type of command USB Communication API Functions For USB communication following DLL API functions are provided BOOL fnPerformaxComGetNumDevices OUT LPDWORD IpNumDevices This function is used to get total number of all types of Performax and Performax USB modules connected to the PC BOOL fnPerformaxComGetProductString IN DWORD dwNumDevices OUT LPVOID IpDeviceString IN DWORD dwOptions This function is used to get the Performax or Performax product string This function is used to find out Performax USB module product string and its associated index number Index number starts from 0 BOOL fnPerformaxComOpen IN DWORD dwDeviceNum OUT HANDLE pHandle This function is used to open communication with the Performax USB module and to get communication handle dwDeviceNum starts from 0 BOOL fnPerformaxComClose
16. IN HANDLE pHandle This function is used to close communication with the Performax USB module BOOL fnPerformaxComSetTimeouts IN DWORD dwReadTimeout DWORD dwWriteTimeout This function is used to set the communication read and write timeout Values are in milliseconds This must be set for the communication to work Typical value of 1000 msec is recommended BOOL fnPerformaxComSendRecv IN HANDLE pHandle IN LPVOID wBuffer IN DWORD dwNumBytesToWrite NSC A2L Manual page 47 Rev 1 18 neujmark systems inc IN DWORD dwNumBytesToRead OUT LPVOID rBuffer This function is used to send command and get reply Number of bytes to read and write must be 64 characters BOOL fnPerformaxComFlush IN HANDLE pHandle Flushes the communication buffer on the PC as well as the USB controller It is recommended to perform this operation right after the communication handle is opened USB Communication Issues A common problem that users may have with USB communication is that after sending a command from the PC to the device the response is not received by the PC until another command is sent In this case the data buffers between the PC and the USB device are out of sync Below are some suggestions to help alleviate this issue 1 2 Buffer Flushing If USB communication begins from an unstable state i e your application has closed unexpectedly it is recommended to first flush the USB buffers of the PC and the USB devi
17. Open Full step Close Close Table 4 6 page 16 Rev 1 18 neujmark systems inc 5 Getting Started Typical Setup 24 VDC Power Supply USB Cable Linear or Rotary Stage Figure 5 0 1 Install the USB driver included on the CD The file is named performax usb setup exe It can be downloaded from http www newmarksystems com nsc a21 html 2 Install the NSC A2L User Interface program included on the CD The file is named NSC A2L Setup exe It can be downloaded from http www newmarksystems com nsc a21 html 3 Connect the NSC A2L to the linear or rotary stages and the PC similar to the above diagram Note Some linear and rotary stages only have a motor connector 4 Apply power to the NSC A2L using the supplied 24V AC adapter Nn Open the NSC A2L software 6 From the Tools menu select Setup Newmark Systems Inc NSC A2L i File Tools Setup VO Viewer Program Editor Variable Viewer Terminal NSC A2L Manual page 17 Rev 1 18 nevusgmark systems inc 7 Inthe Setup Parameters window select the type linear rotary Series and Model of stage for each axis This will load the correct parameters for each stage Stages X Stage Selection S Linear Rotary Series eTrack Model ET x 2x Units om Rotary Stages are in degrees inch Y Stage Selection 9 Linear Series eTrack Model ET x 2x Rotary
18. Returns high speed setting for the X axis and Y axis High Speed HSPDY HSPD Value Set the global high speed setting OK HSPDX Value Sets high speed setting for the X axis and Y axis OK HSPDY Value H Homes both X and Y axis at high speed in the positive OK direction H Homes both X and Y axis at high speed in the negative OK direction HX Homes X Y axis at high speed in the positive direction OK HY HX Homes X Y axis at high speed in the negative direction OK HY HL Homes both X and Y axis at high and low speed in the OK positive direction HL Homes both X and Y axis at high and low speed in the OK negative direction HLX Homes X Y axis at high and low speed in the positive OK HLY direction HLX Homes X Y axis at high and low speed in the negative OK HLY direction I X Target Perform linear interpolated motion OK Y Target ID Returns Controller ID Performax 2ED SA TERR Get the ignore limit error status 0 1 TERR 0 or 1 Set the ignore limit error status OK INC Turns on incremental move mode OK JF Turns off Joystick Control OK JL 1 to 8 Return Joystick Control Limits See Table 6 7 JL 1 to 8 Sets Joystick Control Limits See Table 6 7 OK Value JO Turns on Joystick Control OK JS Get the Joystick status 0 1 JV 1 to 6 Returns Joy Stick Control Parameters See Table 6 7 JV 1 to 6 Value Sets Joystick Control Parameters See Table 6 7 OK J Jogs both X Y Motor Positive OK J Jogs both X Y Motor Negative OK JX Jogs
19. Rev 1 18 nevusgmark systems inc Table 4 4 Analog Input Connector DB 9 Male Pin In Out Name Description 1 I All Analog Input 1 2 I AR Analog Input 2 3 Not Used 4 O sv SV output from controller 5 O GND Ground 6 O GND Ground 7 I DII Digital Input 1 8 I DI2 Digital Input 2 Table 4 5 NSC A2L Manual page 12 Rev 1 18 Interface Circuit NSC A2L Manual POWER USB TRANSCEIVER V GND D 485 485 RS 485 as 5V 22k EA Si EA EA EB EB EZ EZ L H H DI1 TO DI8 DO1 TO DO8 5V 2 2K Ds 2 2K 5V 2 2k EZ 2 2 5V 24V ULA Jar gy 5V 24V DI1 TO Dis a 5V DO1 TO DOS AN TO Al2 Al1 TO Al2 Figure 4 2 page 13 neujmark systems inc V 12 to 24VDC Power Input USB 2 0 Communication T Encoder A Encoder B Encoder Z Limit Limit Home Digital Inputs Digital IO Digital Outputs Opto Ground Analog Inputs Analog IO Rev 1 18 neujmark systems inc Digital Outputs Digital outputs are opto isolated outputs using Darlington transistors that can sink up to 100mA current at maximum voltage of 24VDC DO1 DO2 Opto Ground Darlington Transistor 100mA max sink Figure 4 3 Digital Inputs All inputs including limits homes and digital inputs DI to DIS are opto isolated To trigger the input sink the signal to the ground
20. Version 10 X amp Y Signals Connector HD 15 Male Encoder Version 11 Digital I O Connector DB 25 Female 11 Analog Input Connector DB 9 Male 12 Interface Circuit 13 Digital Outputs 14 Digital Inputs 14 Encoder Inputs 15 Analog Inputs 15 Driver Current and Microstep Setting 15 5 Getting Started 17 Typical Setup 17 6 Software Overview 19 Main Control Screen 19 Status Display 20 Control 21 Homing Routines 22 Terminal 23 Input Output Status 23 Setup Parameters Stages 24 Setup Parameters Controller 25 Setup Parameters Homing 26 Setup Parameters Encoder 27 Setup Parameters Joystick 28 Variables 29 Program Editor 30 7 Motion Control Feature Overview 32 Motion Profile 32 Pulse Speed 33 On The Fly Speed Change 33 Motor Status 34 Individual Linear Interpolation Moves 34 NSC A2L Manual page 3 Rev 1 18 neujmark systems inc On The Fly Target Position Change 35 Homing 35 Home Input Only High speed only 35 Home Input Only High speed and low speed 36 Limit Only 37 Home and Z index 37 Z index only 38 Jogging 38 Stopping Motor 38 Motor Position 38 Polarity 39 Limits 39 Digital Inputs Outputs and Enable Outputs 39 Analog Inputs 41 Joystick Control 41 StepNLoop Closed Loop Control 42 Device Number 45 Standalone Program Specification 45 Storing to Flash 46 8 Communication 47 US
21. Write LSPD long value LSPD variable Conditional IF LSPD variable ENDIF IF LSPD value ENDIF Examples LSPD 1000 Sets the start low speed to 1 000 pulses sec V1 500 Sets the variable 1 to 500 LSPD V1 Sets the start low speed to variable 1 value of 500 LSPD axis Description Read Get individual low speed Value is in pulses second Write Set individual low speed Value is in pulses second Syntax Read variable LSPD axis NSC A2L Manual page 68 Rev 1 18 neujmark systems inc Write LSPD axis long value LSPD axis variable Conditional IF LSPD axis variable ENDIF IF LSPD axis value ENDIF Examples LSPDX 1000 Sets the X low speed to 1 000 pulses sec V1 500 Sets the variable 1 to 500 LSPDX V1 Sets the X low speed to variable 1 value of 500 MST axis Description Command Get motor status of axis Syntax MST Axis Examples IF MSTX 0 DO 6 ELSEIF MSTY 0 DO 3 ENDIF P axis Description Read Gets the current pulse position Write Sets the current pulse position Syntax Read Variable P axis Write P axis value P axis variable Conditional IF P axis variable ENDIF IF P axis value ENDIF Examples JOGX Jogs X axis to positive direction DELAY 1000 Wait 1 second ABORT Stop with deceleration all axes including X axis PX 0 Sets the current pulse position to 0 NSC A2L Manual page 69 Rev 1 18 neujmark systems inc PRG
22. digital input 1 is triggered set DO 1 ENDIF NSC A2L Manual page 58 Rev 1 18 neujmark systems inc DO Description Read Gets the digital output value Write Sets the digital output value Performax 2ED has 8 digital outputs Syntax Read variable DO Write DO value DO variable Conditional IF DO variable ENDIF IF DO value ENDIF Examples DO 7 Turn first 3 bits on and rest off DO 1 8 Description Read Gets the individual digital output value Write Sets the individual digital output value Performax 2ED has 8 digital outputs Syntax Read variable DO 1 8 Write DO 1 8 0 or 1 DO 1 8 variable Conditional IF DO 1 8 variable ENDIF IF DO 1 8 0 or 1 ENDIF Examples DO7 1 Turn DO7 on DO6 1 Turn DO6 on E axis Description Read Gets the current encoder position Write Sets the current encoder position Syntax Read variable Elaxis Write E axis value E axis variable NSC A2L Manual page 59 Rev 1 18 neujmark systems inc Conditional IF E axis variable ENDIF IF E axis value ENDIF Examples JOGX Jogs X axis to positive direction DELA Y 1000 Wait 1 second ABORT Stop with deceleration all axes including X axis EX 0 Sets the current X encoder position to 0 EY 0 Sets the current Y encoder position to 0 ECLEAR axis Description Write Clears error status Syntax Write ECLEAR axis Examples ECLEARX
23. not moving MOVING Motor is moving CORRECTING Motor is attempting to correct its position STOPPING Motor is stopping using deceleration ABORTING Motor is stopping without deceleration JOGGING Motor is jogging HOMING Motor is homing using the home switch L HOMING Motor is homing using the limit switch Z HOMING Motor is homing using the Z index XI i ERR RANGE The error range has been exceeded ERR ATTMPT The maximum number of attempts has been made to correct the position ERR STALL The motor has stalled ERR LIM A limit switch has been hit 6 StepNLoop delta status X Y axis 7 Limit Limit Home Encoder Index status X Y axis NSC A2L Manual page 20 Rev 1 18 neujmark systems inc 8 Clear motor status and StepNLoop status button for both axes 9 Toggle Status display between motor steps and user units Control Control 1 li Target High Speed LowSpeed Acceleration 2 gt Mx 20 12 0000 0 1000 300 ms Y Enable Motor lt 3 Y Y 20 12 0000 0 1000 300 ms Y Enable Motor 8 Datum Move Zero Position Absolute 7 Joo Jog ZeroEncoder Increment Stop Home 4 9 5 6 Figure 5 3 1 Target Position High speed low speed and acceleration values are A el ON GARE or NSC A2L Manual pag entered here X Y axis Select X Y axis for movement Enables the driver power f
24. speed setting for joystick control Syntax Write JOY HS axis value JOYHS axis variable Examples JOYHSX 10000 High speed of X axis is set to 10 000 pps JOYHSY 20000 High speed of Y axis is set to 20 000 pps JOYDEL axis Description Write Set maximum delta value of change in speed for joystick control Syntax Write JOY DEL axis value JOYDELaxis variable Examples JOYDELX 100 Speed delta of X axis is set to 100 pps JOYDELY 200 Speed delta of Y axis is set to 200 pps NSC A2L Manual page 66 Rev 1 18 neujmark systems inc JOYNO axis Description Write Set negative outer limit for joystick control Syntax Write JOYNO axis value JOYNO axis variable Examples JOYNOX 10000 negative outer limit of x axis set to 10000 JOYNIX 9000 negative inner limit of x axis set to 9000 JOY PIX 9000 positive inner limit of x axis set to 9000 JOYPOX 10000 positive outer limit of x axis set to 10000 JOYNI axis Description Write Set negative inner limit for joystick control Syntax Write JOYNI axis value JOYNI axis variable Examples JOYNOX 10000 negative outer limit of x axis set to 10000 JOYNIX 9000 negative inner limit of x axis set to 9000 JOY PIX 9000 positive inner limit of x axis set to 9000 JOYPOX 10000 positive outer limit of x axis set to 10000 JOYPI axis Description Write Set positive inner limit
25. 8 neujmark 9 ASCIT Language Specification systems inc Invalid command is returned with Error Message Always check for proper reply when command is sent Like the commands all responses are in ASCII form Command Description Return ABORT Aborts all axis moves OK ABORTX Immediately stops the indicated motor if in motion OK ABORTY ACC Returns the global acceleration value 32 bit number ACC Value Sets the global acceleration setting OK ACCX Returns acceleration setting for the X axis and Y axis 32 bit number ACCY ACCX Value Sets acceleration setting for the X axis and Y axis OK ACCY Value All Returns Analog Input in millivolt 0 5000 AR CLRX Clears motor limit status bit Also clears a StepNLoop errors OK CLRY DB Return baud rate 1 2 3 4 5 DB value Set baud rate OK 1 9600 bps 2 19200 bps 3 38400 bps 4 57600 bps 5 115200 bps DEC Returns the current global deceleration value in 32 bit number milliseconds DEC Value Sets the global deceleration value in milliseconds OK DECX Returns the current individual deceleration value in 32 bit number DECY milliseconds DECX value Sets the individual deceleration value in milliseconds OK DECY value DI Returns Digital Input Value 0 255 DI 1 8 Return individual input bit status 0 1 DO Returns Digital Output Value 0 255 DO 1 8 Returns the
26. B Communication API Functions 47 USB Communication Issues 48 9 Communication RS 485 ASCII 49 Communication Port Settings 49 ASCII Protocol 49 9 ASCII Language Specification 50 Error Codes 54 11 Standalone Language Specification 55 2 55 ABORT 55 ABORT axis 55 ABS 55 ACC 56 ACC axis 56 AI 1 2 57 DEC 57 DEC axis 57 DELAY 58 DI 58 DI 1 8 58 DO 59 DO 1 8 59 E axis 59 ECLEAR axis 60 ELSE 60 ELSEIF 60 NSC A2L Manual page 4 Rev 1 18 neu mark systems inc END 61 ENDIF 61 ENDSUB 62 ENDWHILE 62 EO 62 EO 1 2 63 GOSUB 63 HLHOME axis or 64 HOME axis or 64 HSPD 64 HSPD axis 64 IF 65 INC 65 JOG axis 66 JOYENA 66 JOYHS axis 66 JOYDEL axis 66 JOYNO axis 67 JOYNI axis 67 JOYPI axis 67 JOYPO axis 67 JOYTOL axis 68 LHOME axis or 68 LSPD 68 LSPD axis 68 MST axis 69 P axis 69 PRG 70 PS axis 70 SCV axis 70 SL axis 71 SLS axis 71 SR 0 1 71 SSPD axis 71 SSPDM axis 72 STOP 72 STOP axis 72 STORE 73 SUB 73 TOC 73 V 74 WAIT 74 WHILE 75 X 75 Y 76 ZHOME axis or 76 NSC A2L Manual page 5 Rev 1 18 neu mark systems inc ZOME axis or 76 12 Example Standalone Programs Ti Standalone Example Program 1 Single Thread 77 Standalone Example Program 2 Single Thread 77 Sta
27. Motor Positive OK NSC A2L Manual page 51 Rev 1 18 neujmark systems inc JY JX Jogs Motor Negative OK JY L Homes both X and Y axis to the positive limit input in the OK positive direction L Home both X and Y axis to the negative limit input in the OK negative direction LX Homes X Y axis to the positive limit input in the positive OK LY direction LX Homes X Y axis to the negative limit input in the negative OK LY direction LCA Returns the global limit correction amount 28 bit number LCA value Sets the global limit correction amount OK LCAX Returns the specified limit correction amount 28 bit number LCAY LCAX value LCA Y value Sets the specified limit correction amount OK LSPD Returns the global low speed setting 32 bit number LSPD Value Sets the global low speed setting OK LSPDX Returns low speed setting for the X axis and Y axis 32 bit number LSPDY LSPDX Value Sets low speed setting for the X axis and Y axis OK LSPDY Value MM Returns the move mode that the controller is currently in 0 ABS mode 1 INC mode MSTX Returns motor status See Table 6 1 MSTY POLX Returns polarity See Table 6 2 POLY POLX Value Sets polarity See Table 6 2 OK POLY Value PSX Returns current pulse speed 28 bit number PSY PX Returns current pulse position 28 bit number PY PX Value Sets current pulse positio
28. Outer Neg Inner Pos Inner Pos Outer Figure 6 7 Summary of joystick control parameters Parameter Description JV1 X axis maximum joystick speed at 5000 mV and 0 mV JV2 Y axis maximum joystick speed at 5000 mV and 0 mV JV3 X axis maximum speed change JV4 Y axis maximum speed change JV5 X axis zero tolerance range for analog input JV6 Y axis zero tolerance range for analog input JL1 X axis negative outer limit JL2 X axis negative inner limit JL3 X axis positive inner limit JL4 X axis positive outer limit JLS Y axis negative outer limit JL6 Y axis negative inner limit JL7 Y axis positive inner limit JL8 Y axis positive outer limit Table 6 7 To enable disable joystick control for an axis use the JE command Joystick enable parameter is a 2 bit value For example joystick enable value of 3 means joystick feature is enabled on both axes Note If joystick control is enabled StepNLoop is automatically disabled StepNLoop Closed Loop Control NSC A2L features a closed loop position verification algorithm called StepNLoop SNL The algorithm requires the use of an incremental encoder SNL performs the following operations 1 Position Verification At the end of any targeted move SNL will perform a correction if the current error is greater than the tolerance value 2 Delta Monitoring The delta value is the difference between the actual and the target position When delta exceeds
29. Read Get acceleration value Write Set acceleration value Value is in milliseconds Syntax Read variable ACC Write ACC value ACC variable Conditional IF ACC variable ENDIF IF ACC value ENDIF Examples ACC 300 Sets the acceleration to 300 milliseconds V3 500 Sets the variable 3 to 500 ACC V3 Sets the acceleration to variable 3 value of 500 ACCf axis Description Read Get individual acceleration value Write Set individual acceleration value Value is in milliseconds Syntax Read variable ACC axis Write ACC axis value ACC axis variable Conditional IF ACC axis variable ENDIF IF ACC axis value ENDIF Examples ACCX 300 Sets the X acceleration to 300 milliseconds V3 500 Sets the variable 3 to 500 ACCX V3 Sets the X acceleration to variable 3 value of 500 NSC A2L Manual page 56 Rev 1 18 neujmark systems inc AI 1 2 Description Read Gets the analog input value NSC A2L has 2 analog inputs Range is from 0 5000 mV Syntax Read variable AI 1 2 Conditional IF AI 1 2 variable ENDIF IF AI 1 2 value ENDIF Examples IF All lt 500 DO 1 If analog input 1 is less than 500 set DO 1 ENDIF DEC Description Read Get deceleration value Write Set deceleration value Value is in milliseconds Syntax Read variable DEC Write DEC value DEC variable Examples DEC 300 Sets the deceleration to 300 millisecon
30. Step Motor Phase A 3 O B Bi polar Step Motor Phase B 4 O B Bi polar Step Motor Phase B Table 4 1 X 4 Y Signals Connector DB 9 Male Non Encoder Version Pin In Out Name Description 1 I LIM Plus limit input 2 I LIM Minus limit input 3 O GND Ground 4 I HOME Home input 5 O 5V 5V output from controller Table 4 2 NSC A2L Manual page 10 Rev 1 18 meu mark systems inc X amp Y Signals Connector HD 15 Male Encoder Version Pin In Out Name Description 1 I LIM Plus limit input 2 I LIM Minus limit input 3 O GND Ground 4 O GND Ground 5 O 5V 5V output from controller 6 I Ae Differential encoder A channel 7 I Ae Differential encoder A channel 8 I Be Differential encoder B channel 9 I Be Differential encoder B channel 10 I Ze Differential encoder Z channel 11 I Ze Differential encoder Z channel 12 I HOME Home input Table 4 3 Digital I O Connector DB 25 Female Pin In Out Name Description 1 O G Ground 2 I DII Digital Input 1 3 I DI2 Digital Input 2 4 I DI3 Digital Input 3 5 I DI4 Digital Input 4 6 I DIS Digital Input 5 7 I DI6 Digital Input 6 8 I DI7 Digital Input 7 9 I DI8 Digital Input 8 10 O DOI Digital Output 1 11 O DO2 Digital Output 2 12 O DO3 Digital Output 3 13 O DO4 Digital Output 4 14 O DOS Digital Output 5 15 O DO6 Digital Output 6 16 O DO7 Digital Output 7 17 O DO8 Digital Output 8 18 O GND Ground NSC A2L Manual page 11
31. at low speed The home input is triggered again the position counter is reset to zero and the motor stops immediately NSC A2L Manual page 36 Rev 1 18 neujmark systems inc Limit Only Use the L axis L axis command use the L L command for both axes Figure 6 4 shows the homing routine LIMIT INPUT BC Original Direction Opposite Direction Figure 6 4 A Issuing a limit home command starts the motor from low speed and accelerates to high speed B The corresponding limit is triggered and the motor stops immediately C The motor reverses direction by the amount defined by the limit correction amount LCA at high speed D The zero position is reached Home and Z index Use the HZ axis HZ axis command use the HZ HZ command for both axes Figure 6 5 shows the homing routine m Il IE i HOME IHPUT Speed A Time Figure 6 5 A Issuing the command starts the motor from low speed and accelerates to high speed As soon as the home input is triggered the motor decelerates to low speed Once low speed is reached the motor begins to search for the z index pulse Once the z index pulse is found the motor stops and the position is set to zero Uae NSC A2L Manual page 37 Rev 1 18 neujmark systems inc Z index only Use the Z axis Z axis command use the Z Z command for both axes Figure 6 6 shows the homing routine Z INDEX JL Time Figure 6 6 A Issuing the h
32. axis control use the I X Target Y Target to perform coordinated movement to the specified target positions Linear Interpolation Move Examples 11000 1000 Move X axis to position 1000 Y axis to position 1000 using linear interpolation 110000 10000 Move X axis to position 10000 Y axis to position 10000 using linear interpolation Individual Linear Interpolation moves can be performed in two modes incremental mode To set move modes use the INC and ABS commands respectively Move Mode Examples X1000 INC mode The motor will move by 1000 from the current position X1000 ABS mode The motor will move to absolute position 1000 On The Fly Target Position Change On the fly target position change can be achieved using the T axis value command While the motor is moving T axis value will change the final destination of the motor If the motor has already passed the new target position it will reverse direction once the target position change command is issued Note Ifa T command is sent while the controller is not performing a target move the command is not processed Instead an error response is returned Homing Home search sequence involves moving the motor towards the home or limit switches and then stopping when the relevant input is detected The NSC A2L has five different homing routines Home Input Only High speed only Use the H axis H axis command use the H H command for both axe
33. ce See the following function prototype below BOOL fnPerformaxCom Flush IN HANDLE pHandle Note fnPerformaxComFlush is only available in the most recent PerformaxCom dll which is not registered by the standard USB driver installer A sample of how to use this function along with this newest DLL is available for download on the website USB Cable Another source of USB communication issues may come from the USB cable Confirm that the USB cable being used has a noise suppression choke See photo below Noise suppression choke Figure 7 0 NSC A2L Manual page 48 Rev 1 18 neujmark systems inc 9 Communication RS 485 ASCII When communicating on RS 485 ASCII it is recommended to add 120 Ohm terminating resistor between 485 and 485 signal on the last module Communication Port Settings Parameter Setting 8 bits Byte Size Parity None Flow Control None Stop Bit 1 Table 8 0 ASCII Protocol Sending Command ASCII command string in the format of DeviceName ASCII Command CR CR character has ASCII code 13 Receiving Reply The response will be in the format of Response CR CR character has ASCII code 13 Examples For querying the x axis polarity Send 00POLX CR Reply 7 CR For jogging the x motor in positive direction Send O00JX CR Reply OK CR For aborting any motion in progress Send OOABORT CR Reply OK CR NSC A2L Manual page 49 Rev 1 1
34. ds V3 500 Sets the variable 3 to 500 DEC V3 Sets the deceleration to variable 3 value of 500 DEC axis Description Read Get individual deceleration value Write Set individual deceleration value Value is in milliseconds Syntax Read variable DEC axis Write DEC axis value DEC axis variable Conditional IF ACC axis variable ENDIF IF ACC axis value ENDIF Examples DECX 300 Sets the X deceleration to 300 milliseconds V3 500 Sets the variable 3 to 500 DECX V3 Sets the X deceleration to variable 3 value of 500 NSC A2L Manual page 57 Rev 1 18 neujmark systems inc DELAY Description Set a delay 1 ms units Syntax Delay Number 1 ms units Examples JOGX Jogs X axis to positive direction DELAY 10000 Wait 10 second ABORT Stop with deceleration all axes including X axis EX 0 Sets the current X encoder position to 0 EY 0 Sets the current Y encoder position to 0 DI Description Read Gets the digital input value Performax 2ED has 8 digital inputs Syntax Read variable DI Conditional IF DIF variable ENDIF IF DI value ENDIF Examples IF DI 255 DO 1 If all digital inputs are triggered set DO 1 ENDIF DI 1 8 Description Read Gets the digital input value Performax 2ED has 8 digital inputs Syntax Read variable DI 1 8 Conditional IF DI 1 8 variable ENDIF IF DI 1 8 0 or 1 ENDIF Examples IF DI1 1 DO 1 IF
35. enabled position move commands are in term of encoder position For example X 1000 means to move the motor to encoder 1000 position This applies to individual as well as interpolated moves Once SNL is enabled the speed is in encoder speed For example HSPD 1000 when SNL is enabled means that the target high speed is 1000 encoder counts per second This only applies to individual axis moves Linear Interpolation w StepNLoop If StepNLoop is used during a linear interpolation move StepNLoop must be enabled for all axes being moved Also note that unlike the NSC A2L Manual page 44 Rev 1 18 neusgmoark systems inc individual axis moves the speed during a linear interpolation is calculated as pulse sec NOT encoder counts sec Device Number Performax 2ED SA module provides the user with the ability to set the device number of a specific device In order to make these changes first store the desired number using the DN command Note that this value must be within the range 2ED00 2ED99 To write the values to the device s flash memory use the STORE command After a complete power cycle the new device ID will be written to memory Note that before a power cycle is completed the settings will not take effect By default Device name is set to 2ED00 Standalone Program Specification Standalone Program Specification Memory size 1 275 assembly lines Note Each line of pre compiled code equates to 1 4 lines of assembly lin
36. erform Z homing using current high speed low speed and acceleration Syntax ZHOME Axis or Examples ZHOMEX Z Homes X axis in positive direction ZHOMEY Z Homes Yaxis in negative direction ZOME axis or Description Command Perform Zoming using current high speed low speed and acceleration Syntax ZOME Axis or Examples ZOMEX Homes X axis in positive direction ZOMEY Homes Y axis in negative direction NSC A2L Manual page 76 Rev 1 18 neu mark systems inc 12 Example Standalone Programs Standalone Example Program 1 Single Thread Task Set the high speed and low speed and move the motor to 1000 and back to 0 HSPD 20000 Set the high speed to 20000 pulses sec LSPD 1000 Set the low speed to 1000 pulses sec ACC 300 Set the acceleration to 300 msec EO 1 Enable the motor power X1000 Move to 1000 WAITX Wait for X axis move to complete X0 Move to zero WAITX Wait for X axis move to complete END End of the program Standalone Example Program 2 Single Thread Task Move the motor back and forth indefinitely between position 1000 and 0 HSPD 20000 Set the high speed to 20000 pulses sec LSPD 1000 Set the low speed to 1000 pulses sec ACC 300 Set the acceleration to 300 msec EO 1 Enable the motor power WHILE 1 1 Forever loop X0 Move to zero WAITX Wait for X axis move to complete X1000 Move to 1000 WAITX Wait for X axis move to c
37. es WAIT Statement When writing a standalone program it is generally necessary to wait until a motion is completed before moving on to the next line In order to do this the WAIT statement must be used See the examples below In the example below the variable V1 will be set immediately after the X10000 move command begins it will not wait until the controller is idle X10000 Move to position 0 V1 100 Conversely in the example below the variable V1 will not be set until the motion has been completed V1 will only be set once the controller is idle X10000 Move to position 0 WAITX Wait for the move to complete V1 100 Multi Threading NSC A2L supports the simultaneous execution of up to 2 standalone programs Programs 0 1 are controlled via the SRO and SR1 commands respectively For examples of multi threading please refer to the Example Stand alone Programs section Note Sub routines can be shared by different threads Error Handling If an error occurs during standalone execution 1 e limit error the program automatically jumps to SUB 31 If SUB 31 is NOT defined the program will cease execution and go to error state If SUB 31 is defined by the user the code within NSC A2L Manual page 4 Rev 1 18 MN ga meumark systems inc SUB 31 will be executed The return jump line will be determined by value of the 13th bit of the POL register If the value is 0 the return jump line will be the line tha
38. et the high speed to 20000 pulses sec LSPD 1000 Set the low speed to 1000 pulses sec ACC 300 Set the acceleration to 300 msec EO 1 Enable the motor power V1 0 Set variable 1 to zero WHILE 1 1 Forever loop IF DI1 1 If digital input 1 is on execute the statements GOSUB 1 Move to zero ENDIF ENDWHILE Go back to WHILE statement END SUB 1 XVI Move to V1 target position WAITX Wait for X axis move to complete V1 V1 1000 Increment V1 by 1000 WHILE D11 1 Wait until the DI1 is turned off so that ENDWHILE 1000 increment is not continuously done ENDSUB NSC A2L Manual page 78 Rev 1 18 neujmark systems inc Standalone Example Program 6 Single Thread Task If digital input 1 is on move to position 1000 If digital input 2 is on move to position 2000 If digital input 3 is on move to 3000 If digital input 5 is on home the motor in negative direction Use digital output 1 to indicate that the motor is moving or not moving HSPD 20000 Set the high speed to 20000 pulses sec LSPD 1000 Set the low speed to 1000 pulses sec ACC 300 Set the acceleration to 300 msec EO 1 Enable the motor power WHILE 1 1 Forever loop IF DI1 1 If digital input 1 is on X1000 Move to 1000 WAITX Wait for X axis move to complete ELSEIF DI2 1 If digital input 2 is on X2000 Move to 2000 WAITX Wait for X axis move to complete ELSEIF DIS 1 If digital input 3 is on X3000 Move to 3000 WAITX Wait f
39. for joystick control Syntax Write JOYPI axis value JOYPI axis variable Examples JOYNOX 10000 negative outer limit of x axis set to 10000 JOYNIX 9000 negative inner limit of x axis set to 9000 JOY PIX 9000 positive inner limit of x axis set to 9000 JOYPOX 10000 positive outer limit of x axis set to 10000 JOYPO axis Description Write Set positive outer limit for joystick control Syntax Write JOYPO axis value JOY POf axis variable Examples JOYNOX 10000 negative outer limit of x axis set to 10000 JOYNIX 9000 E negative inner limit of x axis set to 9000 JOY PIX 9000 positive inner limit of x axis set to 9000 NSC A2L Manual page 67 Rev 1 18 neujmark systems inc JOYPOX 10000 positive outer limit of x axis set to 10000 JOYTOL axis Description Write Set zero tolerance value for joystick control Syntax Write JOYTOL axis value JOYTOL axis variable Examples JOYTOLX 10 Zero tolerance value of x axis set to 10 LHOME axis or Description Command Perform limit homing using current high speed low speed and acceleration Syntax LHOME Axis or Examples LHOMEX Limit homes X axis in positive direction WAITX LHOMEY Limit homes Y axis in negative direction LSPD Description Read Get low speed Value is in pulses second Write Set low speed Value is in pulses second Syntax Read variable LSPD
40. gs X axis to positive direction DELA Y 1000 Wait 1 second SSPDMX 1 Set on the fly speed change mode to 1 ACCX 20000 Set acceleration to 20 seconds SSPDX 190000 Change speed on X axis on the fly to 190000 PPS STOP Description Command Stop all axes if in motion with deceleration Previous acceleration value is used for deceleration Syntax STOP Examples JOGX Jogs X axis to positive direction DELA Y 1000 Wait 1 second STOP Stop with deceleration all axes including X axis STOP axis Description Stop individual axis if in motion with deceleration Previous acceleration value is used for deceleration Syntax STOP axis NSC A2L Manual page 72 Rev 1 18 neujmark systems inc Examples JOGX Jogs X axis to positive direction DELAY 1000 Wait 1 second JOGY Jogs Y axis to positive direction DELAY 1000 Wait 1 second STOPX Stop with deceleration X axis only STORE Description Store device settings and the second half of variables V32 V63 to flash Syntax STORE Example V32 100 V33 200 STORE Values of V1 and V2 will now be preserved after power cycle SUB Description Indicates start of subroutine Syntax SUB subroutine number Subroutine Number range is 0 to 31 Note Subroutine 31 is reserved for error handling Examples GOSUB 1 END SUB 1 X0 WAITX X1000 WAITX ENDSUB TOC Description Sets the communication time out parameter Value is in milli seconds S
41. individual output bit status 0 1 DO Value Sets Digital Output Value OK DO 1 8 Value Sets the individual output bit status OK DOBOOT Get DO boot up state See Table 6 4 DOBOOT Value Set DO boot up state OK DN Return Device Number 2EDXX DN Value Set Device Number OK DXX Returns delta value for X axis and Y axis 32 bit number DXY EDEC Returns the enable deceleration status 0 1 EDEC 0 or 1 Sets the enabled deceleration status OK EO Returns 2 bits of enable output value 0 3 EO value Sets 2 bits of enable outputs OK EO1 Returns the specified bit of the enable output status 0 1 EO2 EO1 0 or 1 Sets the specified bit of the enable output status OK EO2 0 or 1 NSC A2L Manual page 50 Rev 1 18 neujmark systems inc EOBOOT Get EO boot up state See Table 6 5 EOBOOT Value Set EO boot up state OK EX Returns Current Encoder Position 28 bit signed EY position EX Value Sets Current Encoder Position OK EY Value GS SubNumber Call a defined subroutine OK HCA Returns the global home correction amount 28 bit number HCA Value Sets the global home correction amount OK HCAX Returns the home correction amount for the specified axis 28 bit number HCAY HCAX value Sets the home correction amount for the specified axis OK HCA Y value HSPD Returns the global high speed setting High Speed HSPDX
42. inputs e Joystick control Stepper driver e 12 24 VDC 1 5 Amp max current setting peak current Full step 2 4 or 8 micro step setting e Max pulse input rate of 400K Contacting Support For technical support contact contact newmarksystems com Or call 949 830 0621 NSC A2L Manual page 7 Rev 1 18 neujmark systems inc 2 Electrical Specifications Power Requirement Regulated Voltage Current Max Temperature Ratings Operating Temperature Storage Temperature Based on component ratings Digital Inputs Type Voltage range Max foward current Digital Outputs Type Max voltage Max source current NSC A2L Manual page 8 12 to 24 VDC 1 5A Peak 20 C to 80 C 55 C to 150 C Opto isolated inputs NPN 12V to 24VDC 40 mA Opto isolated outputs NPN 12V to 24VDC 90 mA Rev 1 18 neujmark systems inc 3 Dimensions Analog Input DC Power Figure 3 0 mm inches NSC A2L Manual page 9 Rev 1 18 nevusgmark systems inc 4 Connections In order for NSC A2L to operate it must be supplied with 12VDC to 24VDC DC Power Jack 2 1 mm x 5 5 mm Controller Power Pin In Out Name Description Our S od aH Center Power Input 12 to 24 VDC Table 4 0 X amp Y Motor Connector DB 9 Female Pin In Out Name Description 1 O A Bi polar Step Motor Phase A 2 O A Bi polar
43. le axis use global speed settings unless individual high speed low speed and acceleration values for that axis are non zero Example To set the high speed of the X axis to 1500 pulses second and the Y axis to 2000 pulses second issue the following speed setting commands HSX 1500 set high speed for x axis only HSY 2000 set high speed for y axis only LSX 300 other parameters for the axis MUST be set as well for LSY 300 the controller to use the individual speed settings instead ACCX 100 ofthe global speed settings ACCY 100 It is possible to have unique acceleration and deceleration times In order to decelerate using the value set in the DEC axis or DEC parameter set EDEC to 1 The minimum and maximum acceleration values depend on the high speed and low speed settings Refer to Table A 0 and Figure A 0 in Appendix A for details Pulse Speed Current pulse rate can be read using the PSX PSY command For units see Table 6 0 Operation Mode Speed Units StepNLoop disabled Pulse sec ALL interpolated moves Pulse sec StepNLoop enabled and non interpolated move Encoder counts sec Table 6 0 On The Fly Speed Change On the fly speed change can be achieved with the SSPD axis command In order to use the SSPD axis command s curve velocity profile must be disabled SSPD Mode The correct speed window must be selected in order to use the SSPD command To select a speed window use the SSPDM axis co
44. mmand Refer to Appendix A for details During on the fly speed change operation you must keep the initial and destination speeds within the speed window For non on the fly speed change moves set SSPDM axis to 0 NSC A2L Manual page 33 Rev 1 18 neujmark systems inc Motor Status Motor status can be read anytime using MSTX MSTY command Following are bit representation of motor status Bit Description Motor in acceleration Motor in deceleration Motor running at constant speed Not Used Plus limit input switch status Minus limit input switch status Home input switch status Plus limit error This bit is latched when plus limit is hit during motion This error must be cleared using CLR CLRX CLRY command before issuing any subsequent move commands 8 Minus limit error This bit is latched when minus limit is hit during motion This error must be cleared using CLR CLRX CLRY command before issuing any subsequent move commands 9 Z Index Channel status 10 Joystick Control On status 11 TOC time out status DO SV OD B Go Table 6 1 Individual Linear Interpolation Moves For individual axis control use the X and Y commands followed by the target position value Individual Move Examples X1000 Move X axis to position 1000 Y1000 Move Y axis to position 1000 NSC A2L Manual page 34 Rev 1 18 neu mark systems inc For linear interpolation
45. motor between positions 0 and 1000 Simultaneously program 1 will monitor the communication time out parameter and triggers digital output 1 if a time out occurs Program 1 will also stop all motion disable program 0 and then re enable it after a delay of 3 seconds when the error occurs PRG 0 Start of Program 0 HSPD 1000 Set high speed to 1000 pps LSPD 500 Set low speed to 500pps ACC 500 Set acceleration to 500ms TOC 5000 Set time out counter alarm to 5 seconds EO 1 Enable motor WHILE 1 1 Forever loop X0 Move to position 0 WAITX Wait for the move to complete X1000 Move to position 1000 WAITX Wait for the move to complete ENDWHILE Go back to WHILE statement END End Program 0 PRG 1 Start of Program 1 WHILE 1 1 Forever loop V1 MSTX amp 2048 Get bit time out counter alarm variable IF V1 2048 If time out counter alarm is on SR0 0 Stop program 0 ABORTX Abort the motor DO 0 Set DO 0 DELAY 3000 Delay 3 seconds SRO 1 Turn program 0 back on DO 1 Set DO 1 ENDIF ENDWHILE Go back to WHILE statement END End Program 1 NSC A2L Manual page 81 Rev 1 18 nevusgmark systems inc Appendix A Speed Settings Speed Min cise Window LSPD pais Max ACC setting ms SSPDM value 1 16K 0 1 1 1 300 16k 32K 2 2 1 775 32K 80K 3 5 1 1 900 80K 160K 4 10 1 3 700 160K 325K 5 20 1 7 300 HSPD LSPD 6 x 1000
46. n OK PY Value RZ Returns the return to zero enable status Used during 0 1 homing operations RZ 0 1 Sets the return to zero enable status Used during homing OK operations SASTATTO 1 Get standalone program status 0 4 0 Stopped 1 Running 2 Paused 4 In Error SA LineNumber Get standalone line LineNumber 0 1275 SA LineNumber Value Set standalone line OK LineNumber 0 1275 SCVX Get s curve on off status 0 1 SCVY SCVX 0 or 1 Set s curve on off status OK SCVY 0 or 1 NSC A2L Manual page 52 Rev 1 18 neujmark systems inc SLAX SLAY Returns maximum number of StepNLoop control attempt 32 bit number SLAX value SLA Y value Sets maximum number of StepNLoop control attempt OK SLEX SLEY Returns StepNLoop correction value 32 bit number SLEX value SLEY value Sets StepNLoop correction value OK SLRX Returns StepNLoop ratio value 32 bit number SLRY SLRX factor Sets StepNLoop ratio value OK SLRY factor SLSX Returns current status of StepNLoop control See Table 6 9 SLSY SLTX Returns StepNLoop tolerance value 32 bit number SLTY SLTX value Sets StepNLoop tolerance value OK SLT Y value SLX 0 or 1 Enable or disable StepNLoop Control OK SLY 0 or 1 SLX Returns StepNLoop enable status 0 1 SLY SLOAD Returns RunOnBoot parameter See Table 6 11 SLOAD 0 3
47. nable Output 2 Y axis EO2 Table 6 5 The initial state of the enable outputs can be defined by setting the EOBOOT register to the desired initial enable output value The value is stored to flash memory once the STORE command is issued Analog Inputs 2 x 10 bit analog inputs are available on NSC A2L Use AI 1 2 command to read the analog input value Range is from 0 5000 mV Joystick Control Joystick control is available on NSC A2L When this mode is enabled the pulse speed and direction output can be controlled by the corresponding analog input See the axis to analog input relationship in the table below Axis Analog Input X All Y AI2 Table 6 6 Maximum joystick speed is set using the JV1 and JV2 variables Maximum speed change delta is set using the JV3 and JV4 variables Tolerance of the zero joystick position use JV5 and JV6 variables Joystick control also has soft limit controls Limits are broken into negative outer limit negative inner limit positive inner limit and positive outer limit When moving in positive direction as soon as the positive inner limit is crossed the speed is reduced If the position reaches the positive outer limit the joystick speed is set to zero Same goes for the negative direction and negative limits The behavior of the limits of the joystick control is explained by the following NSC A2L Manual page 41 Rev 1 18 meumark systems inc HSPD LSPD Neg
48. ndalone Example Program 3 Single Thread TI Standalone Example Program 4 Single Thread 78 Standalone Example Program 5 Single Thread 78 Standalone Example Program 6 Single Thread 79 Standalone Example Program 7 Multi Thread 80 Standalone Example Program 8 Multi Thread 81 Appendix A Speed Settings 82 Acceleration Deceleration Range 82 Acceleration Deceleration Range Positional Move 83 NSC A2L Manual page 6 Rev 1 18 neu mark systems inc 1 Introduction NSC A2L is an advanced 2 axis stepper standalone programmable motion controller Communication to the NSC A2L can be established over USB It is also possible to download a standalone program to the device and have it run independent of a host Features NSC A2L USB 2 0 communication RS 485 ASCII communication e 9600 19200 38400 57600 115200 bps Standalone programmable Maximum pulse output rate of 400K PPS Trapezoidal or s curve acceleration On the fly speed change XY linear coordinated motion A B Z differential encoder inputs Max frequency of 5 MHz e StepNLoop closed loop control position verification Pulse Dir Enable open collector outputs per axis Opto isolated I O e 8x inputs e 8x outputs e Limit Limit Home inputs per axis Homing routines Home input only high speed e Home input only high speed low speed Limit only e Z index encoder channel only e Home input Z index encoder channel 2x 10 bit analog
49. ndling Syntax ENDSUB Examples GOSUB 1 END SUB 1 X0 WAITX ENDSUB ENDWHILE Description Indicate end of WHILE loop Syntax ENDWHILE Examples WHILE V1 1 While V1 is 1 continue to loop X0 WAITX X1000 WAITX ENDWHILE End of while loop so go back to WHILE EO Description Read Gets the enable output value Write Sets the enable output value Performax 2ED has 2 enable outputs Syntax Read variable EO Write EO value EO variable Conditional IF EO variable ENDIF IF EO value ENDIF NSC A2L Manual page 62 Rev 1 18 neujmark systems inc Examples EO 3 Turn all 2 bits of enable outputs IF V1 1 EO V2 Enable output according to variable 2 ENDIF EO 1 2 Description Read Gets the individual enable output value Write Sets the individual enable output value Performax 2ED has 4 enable outputs Syntax Read variable EO 1 2 Write EO 1 2 0 or 1 EO 1 2 variable Conditional IF EO variable ENDIF IF EO value ENDIF Examples EO1 1 Turn enable output 1 on IF V1 1 EO2 V2 Enable output 2 according to variable 2 ENDIF GOSUB Description Perform go to subroutine operation Subroutine range is from 1 to 32 Note Subroutine definitions should be written AFTER the END statement Note Subroutine 31 is reserved for error handling Syntax GOSUB subroutine number Subroutine Number range is 1 to 32 Examples GOSUB 1 END SUB 1 X0 WAITX
50. neujmark systems inc NSC A2L 2 Axis Stepper Motor Controller Driver User Manual NSC A2L Manual page 1 Rev 1 18 neujmark systems inc COPYRIGHT O 2013 NEWMARK SYSTEMS INC ALL RIGHTS RESERVED NEWMARK SYSTEMS INC copyrights this document You may not reproduce or translate into any language in any form and means any part of this publication without the written permission from NEWMARK SYSTEMS INC NEWMARK SYSTEMS INC makes no representations or warranties regarding the content of this document We reserve the right to revise this document any time without notice and obligation Revision History 1 00 1 Revision 1 13 2 Revision 1 14 3 Revision 1 15 4 Revision 1 17 5 Revision 1 18 6 Revision Firmware Compatibility fV125BL fIf your module s firmware version number is less than the listed value contact Newmark Systems Inc for the appropriate documentation NSC A2L Manual page 2 Rev 1 18 Table of Contents neujmark systems inc 1 Introduction 7 Features f 2 Electrical Specifications 8 Power Requirement 8 Temperature Ratings f 8 Digital Inputs 8 Digital Outputs 8 3 Dimensions 9 4 Connections 10 DC Power Jack 2 1 mm x 5 5 mm Controller Power 10 X amp Y Motor Connector DB 9 Female 10 X amp Y Signals Connector DB 9 Male Non Encoder
51. nge without setting the SSPDM register has been made Sub not Initialized Call to a subroutine using the GS command is not valid because the specified subroutine has not been defined NSC A2L Manual Table 8 1 page 54 Rev 1 18 neujmark 11 Standalone Language Specification J Description Comment notation In programming comment must be in its own line Syntax Comment Text Examples This is a comment JOGX Jogs X axis to positive direction DELAY 1000 r Wait 1 second ABORT Stop immediately all axes including X axis ABORT Description Motion Immediately stops all axes if in motion without deceleration Syntax ABORT Examples JOGX Jogs X axis to positive direction DELAY 1000 Wait 1 second ABORT Stop immediately all axes including X axis ABORT axis Description Motion Immediately stops individual axis without deceleration Syntax ABORTT axis Examples JOGX Jogs X axis to positive direction JOGY Jogs Y axis to positive direction ABORTX Stop the X axis immediately ABS Description Motion Changes all move commands to absolute mode Syntax ABS Examples ABS Change to absolute mode PX 0 Change X position to 0 X1000 Move X axis to position 1000 WAITX X2000 Move X axis to position 2000 WAITX ABORT Stop immediately all axes including X axis NSC A2L Manual page 55 Rev 1 18 neujmark systems inc ACC Description
52. ntil Y Axis move is done WHILE Description Perform WHILE loop Syntax WHILE Argument 1 Comparison Argument 2 Argument can be any of the following Numerical value Pulse or Encoder Position Digital Output Digital Input Enable Output Motor Status Comparison can be any of the following gt lt gt lt lt I Examples WHILE V1 1 X0 WAITX X1000 WAITX ENDWHILE X Description Egual to Greater than Less than Greater than or egual to Less than or egual to Not Egual to While V1 is 1 continue to loop Command Perform X axis move to target location With other Axis moves in the same line linear interpolation move is done Syntax X value X variable Examples X10000 Move X Axis to position 10000 WAITX X2000Y3000 Move X to 2000 and Y to 3000 in linear interpolation move WAITX V10 1200 Set variable 10 value to 1200 XV10 Move X Axis to variable 10 value WAITX NSC A2L Manual page 75 Rev 1 18 neujmark systems inc Y Description Command Perform Y axis move to target location With other Axis moves in the same line linear interpolation move is done Syntax Y value Y variable Examples Y 10000 Move Y Axis to position 10000 WAITY X2000Y3000 Move X to 2000 and Y to 3000 in linear interpolation move WAITX V10 1200 Set variable 10 value to 1200 YV10 Move Y Axis to variable 10 value WAITY ZHOME axis or Description Command P
53. ome command starts the motor at low speed B Once the z index pulse is found the motor stops and the position is set to zero Jogging Jogging is available for continuous speed operation Use JX JX JY JY command To have both motors jog synchronously us the J J command Stopping Motor When the motor is moving the ABORT axis command will immediately stop an individual axis Use the ABORT command to immediately stop ALL axes To employ deceleration on a stop use the STOP axis to stop an individual axis Use the STOP command to stop ALL axes Note If an interpolation operation is in process when a STOP axis or ABORT axis command is entered all axes involved in the interpolation operation will stop Motor Position Motor positions can be read using the PX PY command which returns the pulse position of the specified axis Encoder positions can be read using EX EY command which returns the encoder position of the specified axis To manually set get the pulse position of an individual axis use the PX PY command Note that setting the pulse position is not allowed if StepNLoop is enabled To manually set get the encoder position of an individual axis use the EX EY command NSC A2L Manual page 38 Rev 1 18 neumark sys ems inc Polarity The polarity settings of the NSC A2L can also be read or set at anytime using the POLX POL Y commands The following is the bit representation of the polarity
54. omplete ENDWHILE Go back to WHILE statement END Standalone Example Program 3 Single Thread Task Move the motor back and forth 10 times between position 1000 and 0 HSPD 20000 Set the high speed to 20000 pulses sec LSPD 1000 Set the low speed to 1000 pulses sec ACC 300 Set the acceleration to 300 msec EO 1 Enable the motor power V1 0 Set variable 1 to value 0 WHILE V1 lt 10 Loop while variable 1 is less than 10 X0 Move to zero WAITX Wait for X axis move to complete X1000 Move to 1000 WAITX Wait for X axis move to complete Vl V1 1 Increment variable 1 ENDWHILE Go back to WHILE statement END NSC A2L Manual page 77 Rev 1 18 neujmark systems inc Standalone Example Program 4 Single Thread Task Move the motor back and forth between position 1000 and 0 only if the digital input 1 is turned on HSPD 20000 Set the high speed to 20000 pulses sec LSPD 1000 Set the low speed to 1000 pulses sec ACC 300 Set the acceleration to 300 msec EO 1 Enable the motor power WHILE 1 1 Forever loop IF DI1 1 If digital input 1 is on execute the statements X0 Move to zero WAITX Wait for X axis move to complete X1000 Move to 1000 WAITX Wait for X axis move to complete ENDIF ENDWHILE Go back to WHILE statement END Standalone Example Program 5 Single Thread Task Using a subroutine increment the motor by 1000 whenever the DI1 rising edge is detected HSPD 20000 S
55. or X axis move to complete ELSEIF DI5 1 If digital input 5 is on HOMEX Home the motor in negative direction WAITX Wait for X axis move to complete ENDIF V1 MSTX Store the motor status to variable 1 V2 V1 amp 7 Get first 3 bits IF V2 0 DO1 1 ELSE DO1 0 ENDIF ENDWHILE Go back to WHILE statement END NSC A2L Manual page 79 Rev 1 18 neujmark systems inc Standalone Example Program 7 Multi Thread Task Program 0 will continuously move the motor between positions 0 and 1000 Simultaneously program 1 will control the status of program 0 using digital inputs PRG 0 HSPD 20000 LSPD 500 ACC 500 WHILE 1 1 X0 WAITX X1000 WAITX ENDWHILE END PRG 1 WHILE 1 1 IF DIl 1 ABORTX SR0 0 ELSE SRO 1 ENDIF ENDWHILE END NSC A2L Manual Start of Program 0 Set high speed to 20000pps Set low speed to 500pps Set acceleration to 500ms Forever loop Move to position 0 Wait for the move to complete Move to position 1000 Wait for the move to complete Go back to WHILE statement End Program 0 Start of Program 1 Forever loop If digital input 1 is triggered Stop movement Stop Program 1 If digital input 1 is not triggered Run Program 1 End if statements Go back to WHILE statement End Program 1 page 80 Rev 1 18 neujmark systems inc Standalone Example Program 8 Multi Thread Task Program 0 will continuously move the
56. or the indicated motor X Y axis Stop Stop the motor with deceleration Zero Position Zero Encoder Reset the position encoder position Absolute Increment Set the move mode to absolute or incremental Jog Jog Jogs the motor in the positive or negative direction Datum Move Move the motor to position zero by using Datum Move the motor to the target position by using Move Home Opens the homing routine window Rev 1 18 ja O D pi neujmark systems inc Homing Routines Homing Routines Limit Switch Lm tm Home Switch Home Switch and Encoder Index Home Index Home Index Encoder Index Figure 5 4 Limit Limit Home the motor using only the limit switch Home Home Home the motor at high speed and low speed using only the home switch 3 Home Index Home Index Both encoder index and home switch used for homing 4 Index Index Only encoder index channel used for homing D Tools Menu in Main Control Screen cm ee NSC A2L File Tools Help Stat Setup VO Viewer Program Editor The windows on the following pages are accessed via the Tools Menu Variable Viewer Terminal spees INN Figure 5 5 NSC A2L Manual page 22 Rev 1 18 nevusgmark systems inc Terminal Command Reply 2 Figure 5 5 1 Send commands to the NSC A2L through this terminal 2 Replies from the NSC A2L will be shown here Input Out
57. put Status 2 1 Digital Input Digital Output Analog Inputs Alt 31 mv 3 Al2 19 mV Figure 5 6 1 Digital input status for DI1 DI8 2 Digital output status for DO1 DO8 3 Analog input status for AI and AI2 0 5000 mV NSC A2L Manual page 23 Rev 1 18 nevusgmark systems inc Setup Parameters Stages Linear Rotary Linear Rotary Series eTrack Series eTrack Model ET x 2x Model ET x 2x Units S mm inch Rotary Stages are in degrees Figure 5 7 1 Select between Linear or Rotary Stages Select stage Series from drop down menu 3 Select the Model type This will load the correct parameters for that stage 4 Select between millimeters and inches NSC A2L Manual page 24 Rev 1 18 nevusgmark systems inc Setup Parameters Controller Controller Homing Encoder Joystick 1 p Polarity irection Pulse Home Index XAxis E E m YAxis T El Boot Up DO Boot 0 Limit E Digital Output EOBoot 0 Motor Enable Digital Input M Auto Run 0 SAError 7 Auto Run 1 2 Misc Yhis Ignore Error Figure 5 8 1 Polarity Set direction pulse home Z index polarity for X Y axis Set the encoder multiplier to 1X 2X 4X for X Y axis Limit Set the limit input polarity DO Set the digital output polarity EO Set the enable output polarity DI Set the digital input polarity SA Error Set the return jump line for standalone error handling 2
58. s Figure 6 2 shows the homing routine HOME INPUT Speed A oo Time Figure 6 2 NSC A2L Manual page 35 Rev 1 18 w gt C neujmark systems inc Starts the motor from low speed and accelerates to high speed As soon as the home input is triggered the position counter is reset to zero and the motor begins to decelerate to low speed As the motor decelerates the position counter keeps counting with reference to the zero position Once low speed is reached the motor stops The position is non zero Note For H homing routine it is possible to have the motor automatically return to the zero position To do so set the RZ register to 1 Home Input Only High speed and low speed Use the HL axis HL axis command use the HL HL for both axes Figure 6 3 shows the homing routine w gt Original Direction Time Opposite Direction Figure 6 3 Starts the motor from low speed and accelerates to high speed As soon as the home input is triggered the position counter is reset to zero and the motor decelerates to low speed Once low speed is reached the motor reverses direction to search for the home switch Once the home switch is reached it will continue past the home switch by the amount defined by the home correction amount HCA at high speed The motor is now past the home input by the amount defined by the home correction amount HCA The motor now moves back towards the home switch
59. s value ENDIF Examples HSPDY 10000 Sets the Y high speed to 10 000 pulses sec V1 2500 Sets the variable 1 to 2 500 HSPDY V1 Sets the Y high speed to variable 1 value of 2500 IF Description Perform IF condition check Syntax IF Argument 1 Comparison Argument 2 Argument can be any of the following Numerical value Pulse or Encoder Position Digital Output Digital Input Enable Output Motor Status Comparison can be any of the following Equal to gt Greater than lt Less than gt Greater than or equal to lt Less than or equal to Not Egual to Examples IF V1 1 X1000 WAITX ENDIF INC Description Command Changes all move commands to incremental mode Syntax INC Examples ABS Change to absolute mode PX 0 Change X position to 0 NSC A2L Manual page 65 Rev 1 18 neujmark systems inc X1000 Move X axis to position 1000 0 1000 WAITX X2000 Move X axis to position 3000 1000 2000 WAITX ABORT Stop immediately all axes including X axis JOG axis Description Command Perform jogging using current high speed low speed and acceleration Syntax JOG Axis or Examples JOGX Jogs X axis in positive direction JOGY Jogs Y axis in negative direction JOYENA Description Write Enable joystick feature for axis Syntax Write JOYENA 0 1 Examples JOYENA 1 Enable joystick feature on X axis only JOYHS axis Description Write Set high
60. t caused the error Otherwise the return jump line will be line 0 Calling subroutines over communication Once a subroutine is written into the flash they can be called via USB communication using the GS command The subroutines are referenced by their subroutine number 0 31 If a subroutine number is not defined the controller will return with an error Standalone Run on Boot Up Standalone can be configured to run on boot up using the SLOAD command See description below Bit Description 0 Standalone Program 0 1 Standalone Program 1 Table 6 11 Storing to Flash The following items are stored to flash ASCII Command Description DN Device name DB Baud Rate DOBOOT DO configuration at boot up EDEC Unique deceleration enable EOBOOT EO configuration at boot up IERR Ignore limit error enable HCA HCA axis Home Correction Amount LCA LCA axis Limit Correction Amount POL axis Polarity settings SCV axis S curve enable SL axis SLR axis SLE axis SLT axis StepNLoop parameters SLA axis JO JF JV 1 6 JL 1 8 Joystick settings RZ Return to zero homing SLOAD Standalone program run on boot up parameter TOC Time out counter reset value V32 V63 Note that on boot up VO V31 are reset to value 0 Table 6 12 Note When a standalone program is downloaded the program is immediately written to flash memory NSC A2L Manual page 46 Rev 1 18 neujmark
61. teps not millimeters or inches 5 Download Download the standalone program into memory Upload Upload standalone code that is currently on your NSC A2L 7 Clear Code Space Clear the code space on the NSC A2L D NSC A2L Manual page 31 Rev 1 18 neujmark systems inc 7 Motion Control Feature Overview Important Note All the commands described in this section are interactive commands and are not analogous to stand alone commands Refer to the Standalone Language Specification section for details regarding stand alone commands Motion Profile By default the NSC A2L uses trapezoidal velocity profile See Figure 6 0 speed HSPD High Speed LSPD gt Low Speed je time ACC DEC Figure 6 0 S curve velocity profile can also be achieved by using the SCV axis command See Figure 6 1 speed HSPD High Speed LSPD gt Low Speed time ACC DEC Figure 6 1 High speed and low speed are in pps pulses second Use HSPD axis and LSPD axis to set get individual high speed and low speed settings To set get the global high speed and low speed values use the HSPD and LSPD commands Acceleration and deceleration time are in milliseconds and are symmetrical Use the ACC axis DEC axis command to set get individual acceleration deceleration values To set get the global acceleration value use the ACC DEC command Notes NSC A2L Manual page 32 Rev 1 18 neujmark systems inc By default moves by a sing
62. the error range value the motor is NSC A2L Manual page 42 Rev 1 18 neujmark systems inc stopped and the SNL Status goes into an error state Delta monitoring is performed during moves including homing and jogging To read the delta value use the DX command See Table 6 8 for a list of the SNL control parameters Ratio between motor pulses and encoder counts This ratio will depend on the motor type micro StepNLoop Ratio stepping encoder resolution and decoding multiplier SLR axis Value must be in the range 0 001 999 999 Maximum error between target and actual position that Tolerance is considered In Position In this case no correction SLT axis is performed Units are in encoder counts Maximum error between target and actual position that is not considered a serious error If the error exceeds this value the motor will stop immediately and go into an error state Error Range SLE axis Maximum number of correction tries that the Correction Attempt controller will attempt before stopping and going into SLA axis an error state Table 6 8 A convenient way to find the StepNLoop ratio is to set EX 0 PX 0 and move the motor 1000 pulses The ratio can be calculated by dividing 1000 by the resulting EX value Note that the value must be positive If it is not then the direction polarity must be adjusted This test can be performed on all axes that require StepNLoop
63. trol for the X axis SLY 0 Disables StepNLoop control for the Y axis SLS axis Description Command Get the StepNLoop status of axis Syntax SLS Axis V Value SLS Axis Examples IF SLSX 0 DO 6 ELSEIF SLSY 0 DO 3 ENDIF SR 0 1 Description Write Set the standalone control for the specified standalone program Syntax Write SR 0 1 0 3 SR 0 1 0 3 Examples IF DI1 1 If digital input 1 is on SR0 0 Turn off standalone program 0 ENDIF SSPD axis Description Write Set on the fly speed change for an individual axis Range is from 1 to 6 000 000 PPS Syntax Write SSPD axis value NSC A2L Manual page 71 Rev 1 18 neumark systems inc SSPD axis variable Note If s curve is enabled for an axis on the fly speed feature can not be used for the corresponding axis Examples SCVX 0 Disable s curve acceleration for X axis HSPDX 1000 X axis high speed LSPDX 100 Set X axis low speed ACCX 100 Set X axis acceleration JOGX Jogs X axis to positive direction DELAY 1000 Wait 1 second SSPDX 3000 Change speed on X axis on the fly to 3000 PPS SSPDM axis Description Write Set individual on the fly speed change mode Range is from 0 to 9 Syntax Write SSPDM axis 0 9 SSPDM axis variable Examples SCVX 0 Disable s curve acceleration for X axis HSPDX 1000 X axis high speed LSPDX 100 Set X axis low speed ACCX 100 Set X axis acceleration JOGX Jo
64. yntax TOC long value Examples TOC 10000 Sets time out parameter to 10 seconds NSC A2L Manual page 73 Rev 1 18 neujmark systems inc V Description Assign to variable Performax 2ED has 64 variables V0 V63 Syntax V Variable Number Argument V Variable Number Argument Operation Argument2 Special case for BIT NOT V Variable Number Argument Argument can be any of the following Numerical value Pulse or Encoder Position Digital Output Digital Input Enable Output Motor Status Operation can be any of the following 3 Addition Subtraction 4 Multiplication Division Modulus gt gt Bit Shift Right lt lt Bit Shift Left amp Bit AND Bit OR Bit NOT Examples V1 12345 Set Variable 1 to 123 V2 V1 1 Set Variable 2 to V1 plus 1 V3 DI Set Variable 3 to digital input value V5 EO Sets Variable 5 to bit NOT of enable output value Note On the STORE command the second half of general purpose variable registers V32 V63 are stored to flash Their values will be preserved after power cycle WAIT Description Tell program to wait until move on the certain axis is finished before executing next line Syntax WAIT axis X variable Examples X10000 Move X Axis to position 10000 WAITX Wait until X Axis move is done NSC A2L Manual page 74 Rev 1 18 neujmark systems inc DO 5 Set digital output Y3000 Move Y Axis to 3000 WAITY FW ait u

Download Pdf Manuals

image

Related Search

Related Contents

Untitled - VTPrincips  Multi-split 2x1, 3x1, 4x1 (SCM-ZG)  KeySonic KSK-3001 iBT  Samsung RS542UCAESL 用户手册  Sitecom USB World Charger  GPSMAP 196 GPSMAP 296 - Pdfstream.manualsonline.com  Série de Regency Plateau™ Foyer à gaz extérieur  Servo - TFMxx0 - LEAG Antriebstechnik AG  Creator: Adobe Acrobat 10.0.0  Bissell PRODRY E600 User's Manual  

Copyright © All rights reserved.
Failed to retrieve file