Over 100 years cumulative experience 24 hour rush turnaround / technical support service Established in 1993 The leading independent repairer of servo motors and drives in North America. Visit us on the web: www.servo-repair.com www.servorepair.ca www.ferrocontrol.com www.sandvikrepair.com www.accuelectric.
Mint™ version 4 Advanced Programming Guide MN1270 MN1270 02.
Mint™ v4 Advanced Programming Guide ii MN1270 02.
Copyright Copyright Baldor UK Ltd © 2002. All rights reserved. This manual is copyrighted and all rights are reserved. This document or attached software may not, in whole or in part, be copied or reproduced in any form without the prior written consent of Baldor UK. Baldor UK makes no representations or warranties with respect to the contents hereof and specifically disclaims any implied warranties of fitness for any particular purpose. The information in this document is subject to change without notice.
Mint™ v4 Advanced Programming Guide iv MN1270 02.
Safety Information SAFETY NOTICE: Only qualified personnel should attempt the start-up procedure or troubleshoot this equipment. This equipment may be connected to other machines that have rotating parts or parts that are controlled by this equipment. Improper use can cause serious or fatal injury. Only qualified personnel should attempt to start-up, program or troubleshoot this equipment. Precautions: WARNING: Be sure that you are completely familiar with the safe operation of this equipment.
Mint™ v4 Advanced Programming Guide Manual Revision History vi Issue Date BOCL Reference 1.0 Draft A 1.1 1.2 1.3 1.4 1.5 Apr ‘99 July ‘99 January 2000 August 2000 April 2001 February 2002 UM00546-000 UM00546-001 UM00546-002 UM00546-003 UM00546-004 UM00546-005 Comments First draft. Made corrections. Further corrections. Updates for Mint v4.2 Updates from 04.2001 Errata Updates from 11.2001 Errata MN1270 02.
Contents Introduction ..................................................................................1 Multi Axis Mappings and Configurations ...................................3 2.1 Axis Variants............................................................................................... 4 Creating Motion ............................................................................6 3.1 Gearing Compensation............................................................................... 7 3.
Mint™ v4 Advanced Programming Guide viii MN1270 02.
Introduction 1. Introduction 1 Mint™ is a flexible Basic like programming language designed for high speed motion control applications. MN1270 02.
Mint™ v4 Advanced Programming Guide This Mint v4 Advanced Programming Guide accompanies the Mint v4 Programming Guide. It covers the advanced Mint features: • Spline moves on NextMove • Hold to Analog whereby the position is held on the basis of an analog feedback signal. • DAC monitoring, allows a DAC output to output values such as axis velocity or following error. • Data capture. This feature is used by the Mint WorkBench. This manual describes the keywords used for data capture. • Current limiting.
Multi Axis Mappings and Configurations 2. Multi Axis Mappings and Configurations 2 The NextMove family of controllers support multiple axes of control. This chapter covers: ◊ Axes supported by NextMove controllers ◊ Axis and Channel numbering convention ◊ Reconfiguring the axes in Mint MN1270 02.
Mint™ v4 Advanced Programming Guide The NextMove family of controllers are multi-axis controllers. Depending on the hardware available these axes may be used to control either servo or stepper axes. The number of axes supported by each controller is detailed below: Controller NextMove BX NextMove PC NextMove PCI Number of Software Axes Number of Physical Axes Servo Stepper 8 8 12 4 8 81 A servo axis consists of a DAC and encoder channel.
Multi Axis Mappings and Configurations Care must be taken to see if a Mint keyword is axis based or channel based to ensure that the correct parameter is passed. For example, assume that axis 4 is configured as a servo axis and is using hardware channel 0. To set the default action in event of a following error to be ramp the DAC to zero, you would call FOLERRORMODE on axis 4 as FOLERRORMODE is an axis based keyword. FOLERRORMODE.4 = _emDACRAMP To set the DAC ramp rate, the DACRAMP keyword is used.
Mint™ v4 Advanced Programming Guide 3. Creating Motion 3 6 This chapter covers the use of Mint to perform motion. The following areas are included, and instruction provided to allow the user to explore motion control through example programs: ◊ Encoder following and gearing ◊ Compensation modes ◊ Spline profiles MN1270 02.
Creating Motion 3.1 Gearing Compensation All sampled master / slave systems have an inherent lag in the system. This lag is speed dependant, the faster the master axis, the larger the lag seen. Gearing compensation can be used to overcome this lag for the FOLLOW, FLY and CAM move types. The GEARING keyword allows the lag or lead position of the slave axis to be controlled or removed. The compensation is accomplished by feeding forward the slave velocity. Example: MASTERSOURCE.0 = 0 MASTERCHANNEL.
Mint™ v4 Advanced Programming Guide The SPLINE keyword is used to load the move and the GO keyword starts the motion. The value passed to the SPLINE keyword indicates the type of spline, whether the spline is to repeat and whether the values in the table are to be taken as relative or absolute. For example: SPLINE.0 = _spSPLINE_1 : GO.0 will execute a Spline 1 move for axis 0 taking the positions in the spline table as relative. The spline will finish when the last segment has been executed. SPLINE.
Creating Motion Figure 2: Example of spine move It can be seen that the Spline 1 motion is smoother but the Spline 2 follows the position points. The Spline 1 move also takes slightly longer. This is because the first and last segments are doubled in duration. When a spline move is stopped, the axis will produce a controlled stop over a duration defined with the SPLINESUSPENDTIME keyword. The SPLINESTART and SPLINEEND keywords can me used to modify the segments used in a spline table. 3.
Mint™ v4 Advanced Programming Guide The size of the backlash is set with the BACKLASH keyword, the sign of the backlash is used to indicate in which direction the backlash was taken up during the homing cycle. Example: BACKLASH[0,1] = 0.01, -0.2 This indicates that backlash on axes 0 and 1 is 0.01 and 0.2 user units respectively. The rate at which compensation is applied is controlled with the BACKLASHINTERVAL keyword.
Creating Motion PRECISIONINCREMENT.0 = 10 PRECISIONOFFSET.0 = 0 PRECISIONMODE.0 = _lsDUAL_TABLE 3.5 : REM 10mm table steps : REM Assume start of table is home : REM Turn on dual table compensation Hold To Analog This section applies only to the NextMove product range. The purpose of the HTA is to keep the value on an analog input constant where the position of an axis has an effect on that analog value.
Mint™ v4 Advanced Programming Guide There are a number of keywords associated with HTA: Mint Keyword HTA HTACHANNEL HTAGAIN HTADAMPING HTAFILTER HTADEADBAND Use Starts the HTA mode of motion and specifies the desired hold value. Associates an analog input channel with an axis. The proportional gain in the force control loop. The damping term in the force control loop. The factor for the analog input channel filter. The analog error deadband. Example: REM Initialize HTA parameters.
Advanced use of Fast Position Latching 4. Advanced use of Fast Position Latching 4 This chapter details the advanced features associated with fast position latching, specifically: ◊ Mapping inputs to axes. ◊ Fast position latch modes. MN1270 02.
Mint™ v4 Advanced Programming Guide In order to utilize the functionality of the ASIC’s hardware position latching facility the functionality of fast position latching has been modified.
Advanced use of Fast Position Latching In the event of a fast position latch, a handler will be called to enable the user to deal with this event. Within Mint the user can install a handler for each input (#FASTINX) where x is the digital input number that causes the latch.
Mint™ v4 Advanced Programming Guide ?FASTPOS.0 ?FASTPOS.1 RETURN : REM latch position of axis 0 : REM latch position of axis 1 REM REM fast interrupt 2 REM #FASTIN2 ?”Input 2 Latched” ?FASTPOS.3 RETURN : REM latch position of axis 3 REM REM fast interrupt 3 REM #FASTIN3 ?”Input 3 Latched” ?FASTPOS.2 RETURN : REM latch position of axis 2 Single handler DIM i = 0 FASTSELECT.0 FASTSELECT.1 FASTSELECT.2 FASTSELECT.
Advanced use of Fast Position Latching MN1270 02.
Mint™ v4 Advanced Programming Guide 5. Advanced Error Handling 5 18 This chapter details advanced error handling within Mint. ◊ Changing the type of action taken in the event of an axis error ◊ Miscellaneous errors ◊ Axis warnings MN1270 02.
Advanced Error Handling 5.1 Changing the Default Action of Motion Errors There are 10 asynchronous axis motion errors. These are indicated by a bit pattern which can be read using the AXISERROR keyword.
Mint™ v4 Advanced Programming Guide Mode 3 Action Perform a controlled stop on the axis at the rate specified by the ERRORDECEL parameter, leave the axis enabled. When the axis is idle the error handler will be called. The forthcoming software limit is anticipated. The forward or reverse software limit becomes a temporary stop point and the motion will decelerate at the rate specified by DECEL to stop on the software limit. The axis will remain enabled.
Advanced Error Handling vel DECEL rate ERRORDECEL rate time error input axis status axis error error handler #1 #2#3 #4 #5 #1 : Error input activated #2 : Error input deactivated #3 : Desired action completed and error handler called #4 : Error cancelled #5 : Error handler completes While an error is present the handler will continue to be called every 2ms. In previous versions of Mint, in the event of an asynchronous error Mint has always dropped the relay.
Mint™ v4 Advanced Programming Guide 12 meOUTPUT_POWER0 Output driver not powered or missing for bank 0 13 meOUTPUT_POWER1 Output driver not powered or missing for bank 1 14 meOUTPUT_POWER2 Output driver not powered or missing for bank 2 Reading miscellaneous errors returns the bit pattern shown above. Miscellaneous errors are latched and will remain set until cleared by the user. They can be cleared by writing to MISCERROR with a value of zero. Errors cannot be cleared individually.
Advanced Error Handling MN1270 02.
Mint™ v4 Advanced Programming Guide 6. Keyword Reference Guide 6 24 This chapter presents, in alphabetical order, descriptions for all Mint keywords. Descriptions are broken down into: ◊ Purpose ◊ Format ◊ Syntax MN1270 02.
Keyword Reference Guide 6.1 Mint Keyword Syntax The following syntactical rules are applied throughout the following keyword definitions:Case: Words in capital letters are keywords (for example FOLERRORFATAL) and must be entered as shown, except that they can be entered in any combination of upper and lower case. For example: folerrorfatal = 10 FolErrorFatal = 20 FOLERRORFATAL = 30 Angled Brackets: You are asked to supply any items shown in lower case letters between angled brackets.
Mint™ v4 Advanced Programming Guide DAC channel Auxiliary DAC channel Encoder channel Auxiliary encoder channel Keypad channel 0 ≤ x ≤ 11 N/A 0 ≤ x ≤ 11 0≤x≤2 0≤x≤7 N/A 0≤x≤7 x=0 0≤x≤3 N/A 0≤x≤3 x=0 N/A 0≤x≤1 x=0 x=0 N/A 0≤x≤3 x=0 x=0 8,16,32,64 8,16,32,64 8,16,32,64 8,16,32,64 8,16,32,64 Attributes The ‘Attributes’ table is used to indicate the specific attributes of the keyword as described below: Controller Read Write Command Multi-Axis Scaled Default Range Indicates the Controller to which t
Keyword Reference Guide 6.3 Mint Keywords ABORTMODE/ABM Purpose: Controls the default action taken in the event of an abort. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: ABORTMODE[axes] = {, …} v = ABORTMODE[axis] Dot Parameters: Axis – Axis No.
Mint™ v4 Advanced Programming Guide ADCERROR/AE Purpose: Read back the analog channels currently in error. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: v = ADCERROR[axis] Dot Parameters: Axis - Axis No.
Keyword Reference Guide ADCERRORMODE/ADM Purpose: Controls the default action taken in the event of an ADC limit being exceeded on an associated channel. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: ADCERRORMODE[axes] = {, …} v = ADCERRORMODE[axis] Dot Parameters: Axis - Axis No.
Mint™ v4 Advanced Programming Guide Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: ADCMAX.channel = v = ADCMAX.channel Dot Parameters: Channel – ADC Channel Number Attributes: Controller Read Write NextMove Command MultiAxis Scaled Default Range 100 -100 ≤ x ≤ 100 Description: It is possible to attach limit values to analog input channels such that if those limits are exceeded, a motion error is generated.
Keyword Reference Guide Dot Parameters: Channel – ADC Channel Number Attributes: Controller Read Write NextMove Command MultiAxis Scaled Default Range -100 -100 ≤ x ≤ 100 Description: It is possible to attach limit values to analog input channels such that if those limits are exceeded, a motion error is generated. Analog channels can be associated with one or more axes and an axis can have multiple analog channels associated with it.
Mint™ v4 Advanced Programming Guide The upper and lower limit values are set for a channel using them ADCMAX and ADCMIN keywords. The ADCMONITOR keyword accepts a bit pattern representing the analog channels to monitor as follows: Bit Meaning 0 1 2 3 4 5 6 7 Analog channel 0. Analog channel 1. Analog channel 2. Analog channel 3. Analog channel 4. Analog channel 5. Analog channel 6. Analog channel 7. An axis can monitor any number of channels and more than one axis can monitor the same channel.
Keyword Reference Guide See Also: AXISERROR, AXISWARNING, MISCERROR AUXENCODERMODE/AEM Purpose: To make miscellaneous changes to the Auxiliary Encoders. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: AUXENCODERMODE.channel = v = AUXENCODERMODE.
Mint™ v4 Advanced Programming Guide AUXENCODERSPEED Purpose: Specifies a virtual speed reference for the auxiliary encoder. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: AUXENCODERSPEED.channel = v = AUXENCODERSPEED.channel Dot Parameters: Channel – Auxiliary Encoder Channel.
Keyword Reference Guide Description: The encoder ASIC which is fitted to the NextMove PCI, MintDrive and ServoNode controllers will latch the edge of an encoder Z pulse within hardware. Generally the width of an encoder Z pulse is too narrow to poll for reliably using software alone. When an encoders Z pulse is seen the occurrence of this is latched within the hardware. It is this latched value that the AUXENCODERZLATCH keyword reads.
Mint™ v4 Advanced Programming Guide • Axis 1 uses Channel 1 • Axis 2 uses Channel 2 • Axis 3 uses Channel 3 • Axis 4 uses Channel 4 • Axis 5 uses Channel 5 • Axis 6 uses Channel 6 • Axis 7 uses Channel 7 To configure axis 4 as a stepper axis, then the CONFIG keyword would be used: CONFIG.4 = _cfSTEPPER This would make axis 4 a stepper axis using the first pulse and direction outputs on the expansion card.
Keyword Reference Guide Attributes: Controller Read Write NextMove Command MultiAxis Scaled Default Range 0 0 ≤ x ≤ 15 Description: Axis warnings provide a method of asynchronous detection of abnormal states without any automatic corrective action. AXISWARNING accepts a bit pattern as follows: Bit Meaning 0 1 2 3 The axis following error has reached of exceeded the warning limit. The axis integrator term reached the value set by KINTLIMIT.
Mint™ v4 Advanced Programming Guide Format: AXISWARNINGDISABLE[axes] = {, ...} v = AXISWARNINGDISABLE [axis] Dot Parameters: Axis – Axis No. Attributes: Controller Read Write NextMove Command MultiAxis Scaled Default Range 15 0 ≤ x ≤ 15 Description: This function accepts a bit pattern which controls which axis warnings will call the error handler.
Keyword Reference Guide Attributes: Controller Read Write NextMove Command MultiAxis Scaled Default Range 0 -8388607.0 8388607.0 Description: The BACKLASH keyword controls the size of the backlash on an axis. Backlash describes the amount of free movement in the gearbox or belts linking a motor and the physical axis. Backlash compensation automatically compensates for this free movement whenever the axis changes direction.
Mint™ v4 Advanced Programming Guide In order to smoothly take up backlash, the compensation is applied over a number of servo loop cycles. The time it takes to compensate also depends on the servo loop frequency set with the LOOPTIME keyword. The default servo loop interval is 1 milli-second so a backlash interval of 1000 would imply a 1000 servo cycles and therefore a compensation time of 1 second. If the servo loop interval was 500 micro-seconds, then the compensation time would be 500 micro-seconds.
Keyword Reference Guide Example: BACKLASH.3 = -0.3 BACKLASHINTERVAL.3 = 50 MOVER.3 = 0.5 GO.3 PAUSE IDLE.3 BACKLASHMODE.3 = 1 This sets up backlash compensation on axis 3 of 0.3 mm to be applied over 50 servo cycles. A small negative move is performed to ensure that the backlash has been taken up in a positive direction; equivalent to a negative direction home sequence. The axis must be idle in order to change the backlash mode and the default backlash mode is off.
Mint™ v4 Advanced Programming Guide BUSVOLTAGETHRESHOLD/BVT Purpose: To read and write the DC bus voltage threshold on a MintDrive. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: BUSVOLTAGETHRESHOLD = value = BUSVOLTAGETHRESHOLD Dot Parameters: None.
Keyword Reference Guide Example: DIM camPositions(11) = 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 CAMTABLE (0, camPositions, NULL) CAM = 5 GO This performs a continuous cam absolute within a cycle. If the cam amplitude was changed to 2, CAMAMPLITUDE = 2, then this would be the same as changing the position table values to: 2, 4, 6, 8, 10, 12, 14, 16, 18, 20. The amplitude value does not have an immediate affect on the profile, it will only come into effect at the start of the next CAM cycle.
Mint™ v4 Advanced Programming Guide CAM = 0 MASTERDISTANCE = 10 GO CAMPHASE(0, 2, 5, 1) This will modify the CAM profile over 5 segments starting when the CAM enters segment 2 (if moving in a positive direction, the phasing will start at segment 7 if moving in negative direction). The phasing will modify the MASTERDISTANCE by 1 during the phasing operation. See also: CAM, CAMEND, CAMPHASESTATUS, CAMSTART, CAMTABLE CAMPHASESTATUS/CPS Purpose: To get the state of the CAMPHASE for a specific axis.
Keyword Reference Guide Format: CAPTURE = v = CAPTURE Dot Parameters: None. Attributes: Controller NextMove & MintDrive ServoNode 51 Read Write Command Multi-Axis Scaled Default Range 0≤x≤2 0≤x≤3 Description: The CAPTURE keywords are used to configure and perform data capture from controllers. A number of internal parameters can be logged automatically for later upload and display by the Mint WorkBench. There are six capture channels on the controllers.
Mint™ v4 Advanced Programming Guide CAPTUREAXIS.0 = 0 CAPTURE = _capSINGLE The above MintDrive example will capture 2 seconds worth of data, read every servo tick (i.e. 2 ms per point for 1000 data points), of the measured speed taken from axis 0. CAPTUREINTERVAL = 2 CAPTUREMODE.0 = _cpMEASURED_SPEED CAPTUREAXIS.0 = 2 CAPTURE = _capWRAP PAUSE IN1 = 1 CAPTURE = _capSTOP The above example will start to capture measured speed from axis 2 every second servo loop.
Keyword Reference Guide CAPTUREEVENT/CPE Purpose: Configures cyclic capture to trigger (stop) on an event. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Dot Parameters: None. Format: CAPTUREEVENT = v = CAPTUREEVENT Attributes: Controller Read Write All Command MultiAxis Scaled Default Range 0 0≤x≤1 Description: A cyclic capture is set up using the CAPTURE keyword. The capture event is then used to stop the cyclic capture.
Mint™ v4 Advanced Programming Guide Attributes: Controller Read Write NextMove Command MultiAxis Scaled Default Range 0 0 to 12 Description: Cyclic capture can be configured to automatically trigger on a specified event using the CAPTUREEVENT keyword. The CAPTUREVENTAXIS keyword is used to specify which axis to monitor for the trigger event. The axis must be a valid axis number for the controller.
Keyword Reference Guide CAPTUREINTERVAL/CPI Purpose: To define the interval of the data capture in relation to the servo frequency. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: CAPTUREINTERVAL = v = CAPTUREINTERVAL Dot Parameters: None.
Mint™ v4 Advanced Programming Guide Value 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Pre defined Constants _cpOFF _cpMEASURED_SPEED _cpFOLLOWING_ERROR _cpMEASURED_POSITION _cpDAC_DEMAND _cpDEMAND_POSITION _cpDEMAND_SPEED _cpMODE _cpINPUTS _cpAUX_ENCODER _cpAUX_ENCODER_SPEED _cpHS_MEASURED_CURRENT _cpHS_MEASURED_VELOCITY _cpHS_DEMANDED_CURRENT _cpHS_EFFORT _cpENCODER _cpENCODER_SPEED Data to capture Off Measured Speed Following Error Measured Position DAC Demand Demand Position Demand Speed Mode Digital Inp
Keyword Reference Guide An ASIC is capable of supporting position capture and position compare but only for one of the axes that is using that ASIC. The CHANNELCONFIG keyword allows the user to select if the position capture and position compare functionality can be used by the servo or stepper axis using that channel (ASIC). To select the servo axis, CHANNELCONFIG is set to 1. To select the stepper axis, CHANNELCONFIG is set to 2. The same Mint constants that are used with the CONFIG keyword can be used.
Mint™ v4 Advanced Programming Guide CHANNELCONFIG.channel = _cfSTEPPER By default in this system, axis 4 uses channel 4 and axis 5 uses channel 5. See also: AXISCHANNEL, CONFIG, FASTSELECT, COMPAREMODE CHANNELTYPE/CHT Purpose: Read what hardware is available to a specific channel. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: CHANNELTYPE.channel = v = CHANNELTYPE.channel Dot Parameters: Channel – Channel No.
Keyword Reference Guide See Also: AXISCHANNEL, CONFIG COMPARELATCH/CML Purpose: Reads the state of the position compare latch. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: COMPARELATCH[axes] = {,} v = COMPARELATCH[axis] Dot Parameters: Axis – Axis No.
Mint™ v4 Advanced Programming Guide COMPAREMODE/CMD Purpose: Enables and disables the position compare on an axis. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: COMPAREMODE[axes] = {,} v = COMPAREMODE[axis] Dot Parameters: Axis – Axis No.
Keyword Reference Guide Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: COMPAREPOS.axis.register = v = COMPAREPOS.axis.register Dot Parameters: Axis – Axis No. Register – Position compare register. Attributes: Controller Read Write NextMove Command MultiAxis Scaled Default Range 0 -8388607.0 8388607.0 Description: There are two position compare registers on the ASIC, register 0 and 1.
Mint™ v4 Advanced Programming Guide See also: DAC, KINTLIMIT CURRENTLIMITAREA/CLA Purpose: Returns the current I2T area. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Dot Parameters: Axis - Axis No. Format: v = CURRENTLIMITAREA[axis] Attributes: Controller Read MintDrive Write Command MultiAxis Scaled Default Range 0 0 ≤ x ≤ 100 Description: Returns the current I2T area as a percentage of the maximum area.
Keyword Reference Guide CURRENTLIMITMODE/CLM Purpose: To set and read the how the I2T current limiting operates. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: CURRENTLIMITMODE[axes] = {, ...} v = CURRENTLIMITMODE[axis] Dot Parameters: Axis - Axis No.
Mint™ v4 Advanced Programming Guide CURRENTMEAS/CMS Purpose: Reads the measured current. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Dot Parameters: None. Format: v = CURRENTMEAS Attributes: Controller Read All Write Command MultiAxis Scaled Default Range 0 ≤ x ≤ Drive Rating Description: Reads the measured current from the drive in Amps.
Keyword Reference Guide Bit NextMove 0 1 2 3 4 MintDrive / SN51 Description 14-bit mode, allowing a binary range of ±8191 Reserved Reserved Reserved Inverts the DAC On NextMove, if bits 0 through 3 are not set then DACMODE assumes 12 bit emulation, allowing a binary range of ±2047.
Mint™ v4 Advanced Programming Guide Any axis can be monitored and multiple axis parameters can be monitored through the use of multiple DAC channels. Note that this keyword is channel dependant and not axis dependent. The DAC channels on a NextMove expansion board can be used if one is present. Example: DACMONITORAXIS.3 = 0 DACMONITORMODE.3 = 1 : : REM Monitor axis 0 on DAC channel 3 REM Send axis 0 velocity to the DAC.
Keyword Reference Guide Dot Parameters: Channel - DAC Channel Attributes: Controller Read Write NextMove MintDrive Command MultiAxis Scaled Default Range 0 0 0-4 0, 1, 2, 3, or 5 Description: Certain system parameters, can be monitored externally by outputting the value through a DAC channel. The DACMONITORAXIS keyword specifies which axis is to be used for monitoring through the DAC channel. The DACMONITORGAIN keyword can be used to scale the size of the output voltage.
Mint™ v4 Advanced Programming Guide Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: DACOFFSET.channel = value = DACOFFSET.channel Dot Parameters: Channel – DAC Channel Number Attributes: Controller Read Write NextMove Command MultiAxis Scaled Default Range 0 -100.0 ≤ x ≤ 100.0 Description: The DACOFFSET keyword can used to apply a constant voltage offset to a DAC.
Keyword Reference Guide Maximum Positive DAC Value +10 Volts DACRAMP from maximum DAC value 0 Volts time DACRAMP from an intermediate value Maximum Negative DAC Value -10 Volts DACRAMP time The above diagram illustrates the affect of DACRAMP on the DAC output. Example: FOLERRORMODE.0 = _emDAC_RAMP DACRAMP.0 = 10 The above code will specify the default action to be taken in the event of a following error is to ramp the DAC to zero volts over the time period specified by DACRAMP.
Mint™ v4 Advanced Programming Guide Event Priority Digital Input Comms DPR Move Buffer Low Axis Idle Lowest This means that a DPR Event may be held pending if a higher priority event is active. Example: DPREVENT = 10 This will generate an interrupt to the host PC which will call the user installable DPR Event handler passing a code of 10. See Also: EVENTACTIVE, EVENTDISABLE, EVENTPENDING DPRFLOAT Purpose: Read and write a 32 bit floating point value to Dual Port Ram.
Keyword Reference Guide DPRLONG Purpose: Read and write a 32 bit integer value to Dual Port Ram Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: DPRLONG (address) = v = DPRLONG (address) Parameters: Address – Dual Port Ram location Attributes: Controller Read Write NextMove Command MultiAxis Scaled Default Range 0 any 32 bit integer value Description: The Dual Port Ram is an area of Ram accessible by both the host PC and th
Mint™ v4 Advanced Programming Guide Attributes: Controller Read Write NextMove Command MultiAxis Scaled Default Range 0 any 16 bit integer value Description: The Dual Port Ram is an area of Ram accessible by both the host PC and the controller, the size of this depends on the controller. The DPRFLOAT keyword allows the user to read and write 16 bit integer values to any location within Dual Port Ram.
Keyword Reference Guide No.
Mint™ v4 Advanced Programming Guide + TORQUE EFFORT KIPROP KIINT CURRENTLIMIT CURRENTLIMITCONT CURRENTMEASUREMENT See Also: CURRENTMEAS, TORQUE ENCODERMODE/ENM Purpose: To make miscellaneous changes to the Encoders. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: ENCODERMODE.channel = v = ENCODERMODE.channel Dot Parameters: Channel – Encoder Channel Number.
Keyword Reference Guide DRIVEENABLE = 1 TORQUE = 10 LOOP : PRINT VEL : ENDL Repeating the torque test should now give the correct polarity. Note: Changing ENCODERMODE can affect position related keywords Restrictions: Must be set after the CONFIG keyword has been assigned, and again after DEFAULT or LOOPTIME has been used. See Also: ENCODER ENCODERZACTIVELEVEL/ENL Purpose: Specify the active level of the encoder z pulse.
Mint™ v4 Advanced Programming Guide Format: ENCODERZLATCH.channel = v = ENCODERZLATCH.channel Dot Parameters: Channel – Encoder Channel Number. Attributes: Controller Read All Write Command MultiAxis Scaled Default Range 0 or 1 Description: The encoder ASIC which is fitted to the NextMove PCI, MintDrive and ServoNode controllers will latch the edge of an encoder Z pulse within hardware.
Keyword Reference Guide The following modes are available. Mode 0 Action Ignore. A motion error is not generated if an error input is detected. The AXISSTATUS keyword will indicate the abort condition. Performs a crash stop on the axis and deactivates the drive enable output and drops the enable relay. Performs a crash stop on the axis. The drive and enable relay are left enabled. Performs a controlled stop on the axis. The axis will decelerate at the ERRORDECEL rate.
Mint™ v4 Advanced Programming Guide Bit Meaning Mint Constant 15 Reserved _erDRIVE_WATCHDOG 16 Internal drive watchdog _erVEL_FATAL 17 Velocity error limit has been exceeded If the bit is set then the error handler may be called for that error type. Example: ERRORMASK.
Keyword Reference Guide FASTAUXENABLE/FAB Purpose: Manually clears the Aux. Encoders fast position latch. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: FASTAUXENABLE.channel = Dot Parameters: Channel – Auxiliary encoder channel. Attributes: Controller Read Write Command MultiAxis Scaled Default All Range 0 Description: Manually clears the hardware latch for the encoders fast position input.
Mint™ v4 Advanced Programming Guide Where the generic #FASTIN handler is used with a fast latch mode 1, the hardware fast interrupt latch will only be reset automatically once the FASTAUXLATCH keyword has been read. This is to prevent latches from being lost to the user. Example: FASTAUXLATCHMODE = 2 FASTAUXSELECT = 2 ...
Keyword Reference Guide FASTAUXSELECT/FAS Purpose: Maps the Auxiliary Fast position capture to a specific fast input. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: FASTAUXSELECT.channel = v = FASTAUXSELECT.
Mint™ v4 Advanced Programming Guide Dot Parameters: Axis – Axis No. Attributes: Controller Read Write Command All MultiAxis Scaled Default Range 0 Description: Manually clears the hardware latch for the encoders fast position input. This is used when the FASTLATCHMODE keyword is set to 2 so that further fast latches are disabled until re-enabled by the user. The state of the latch can be read using FASTLATCH. This indicates if an axis has had a position latch occur.
Keyword Reference Guide FASTLATCHMODE/FTM Purpose: Sets the default action to be taken to clear the Encoders fast position latch. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: FASTLATCHMODE[axes] = {, , …} v = FASTLATCHMODE[axis] Dot Parameters: Axis – Axis No.
Mint™ v4 Advanced Programming Guide Attributes: Controller Read Write All Command MultiAxis Scaled Default Range 0 Description: The FASTSELECT function allows you to select which of the fast position capture inputs will capture an axis position. MintDrive, ServoNode 51 There are two capture inputs, inputs 0 and 2. Use the FASTSELECT keyword to select which input will cause the axis position to be captured. E.g. REM Input 2 captures axis position. FASTSELECT.
Keyword Reference Guide Attributes: Controller Read Write NextMove Command MultiAxis Scaled Default Range 40000, 1000 0.0 ≤ x ≤ 8388607.0 Description: For a positional move, the motion profile is specified by the acceleration (ACCEL), deceleration (DECEL) and the slew speed. The SPEED and FEEDRATE keywords operate identically; both set the slew speed for a positional move. The way in which the slew speed is interpreted is controlled with the FEEDRATEMODE keyword.
Mint™ v4 Advanced Programming Guide FEEDRATEMODE/FRM Purpose: To control the use of slew speed and feedrate override. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: FEEDRATEMODE[axes] = {, ...} v = FEEDRATE[axis] Dot Parameters: Axis - Axis No.
Keyword Reference Guide Example: FEEDRATEMODE = 1 SPEED = 30 MOVER = 50 GO PAUSE OFFSET < 25 FEEDRATE = 10 MOVER = 20 : GO : : : : : : : REM REM REM REM REM REM REM feedrate mode slew speed 30 uu/s relative move of 50 units start the move wait until half way Change slew speed to 10 uu/s move 20 units In this example, the move is started and ramps to a slew speed of 30 user units per second. When there is less than 25 units left to travel, the slew speed is changed to 10 user units per second.
Mint™ v4 Advanced Programming Guide FEEDRATEOVERRIDE can be turned on and off with the FEEDRATEMODE keyword.
Keyword Reference Guide Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: FOLERRORMODE[axes] = {, ...} v = FOLERRORMODE[axis] Dot Parameters: Axis - Axis No. Attributes: Controller Read Write NextMove MintDrive & ServoNode 51 Command MultiAxis Scaled Default Range 1 1 0≤x≤6 0≤x≤5 Description: Specifies the default action to be taken in the event of a following error motion error.
Mint™ v4 Advanced Programming Guide Format: FOLERRORWARNING[axes] = {, ...} v = FOLERRORWARNING[axis] Dot Parameters: Axis – Axis No. Attributes: Controller Read Write NextMove Command MultiAxis Scaled Default Range 1000 0.0 < x ≤ 8388607.0 Description: In order to detect that an axis is beginning to have a problem, a following error warning limit is to be implemented. This allows the user to take corrective action before the fatal limit is reached.
Keyword Reference Guide See also: CONFIG, DAC, STEPDIRECTION GEARING/GR Purpose: To set the percentage size for gearing compensation. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: GEARING[axes] = {, ...} v = GEARING[axis] Dot Parameters: Axis - Axis No. Attributes: Controller Read Write NextMove MintDrive & ServoNode 51 Command MultiAxis Scaled Default Range 100.0 -8388607.0 ≤ x ≤ 8388607.
Mint™ v4 Advanced Programming Guide Dot Parameters: Axis - Axis No. Attributes: Controller Read Write All Command MultiAxis Scaled Default Range 0 0 or 1 Description: All sampled master / slave systems have an inherent lag in the system. This lag is speed dependant, the faster the master axis, the larger the lag seen. Gearing compensation can be used to overcome this lag for the FOLLOW, FLY and CAM move types. The percentage compensation size is set with the GEARING keyword.
Keyword Reference Guide See Also: HOME, POS HTA Purpose: Starts the hold to analog mode of motion in which the position of an axis is controlled in order to keep the value of an analog input channel at the specified value. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: HTA[axes] = {, ...} v = HTA[axis] Dot Parameters: Axis - Axis No.
Mint™ v4 Advanced Programming Guide HTACHANNEL = 6 HTADEADBAND = 2 HTAFILTER = 0.2 HTAGAIN = 0.03 HTADAMPING = 0.
Keyword Reference Guide Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: HTADAMPING[axes] = {, ...} v = HTADAMPING[axis] Dot Parameters: Axis - Axis No. Attributes: Controller Read Write NextMove Command MultiAxis Scaled Default Range 0 -8388607.0 ≤ x ≤ 8388607.0 Description: The HTADAMPING keyword is used to set the damping term in the Hold To Analog algorithm.
Mint™ v4 Advanced Programming Guide Example: HTADEADBAND = 0.20 : REM Ignore an error of less than 0.20% See also: ADCMODE, HTA, HTACHANNEL HTAFILTER/HAF Purpose: Sets the factor for the analog input filter. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: HTAFILTER[axes] = {, ...} v = HTAFILTER[axis] Dot Parameters: Axis - Axis No.
Keyword Reference Guide Dot Parameters: Axis - Axis No. Attributes: Controller Read Write NextMove Command MultiAxis Scaled Default Range 0 -8388607.0 ≤ x ≤ 8388607.0 Description: The HTAKINT keyword is used to set the gain term in the Hold To Analogue algorithm. The algorithm used to minimize error is: Velocity = Error × Gain + ∆Error × Damping + SumOfErrors × IntegralGain HTAKINT sets the IntegralGain term in the above equation.
Mint™ v4 Advanced Programming Guide Example: HTAGAIN[2] = 1.5 : REM Set a HTA gain of 1.5 See also: HTA, HTADAMPING, HTAKINT ICMDISABLE Purpose: Disables the ICM interface to the controller. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: ICMDISABLE.channel = value = ICMDISABLE.channel Dot Parameters: Channel – Channel No.
Keyword Reference Guide Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: IDLEPOS[axes] = {, ...} v = IDLEPOS[axis] Dot Parameters: Axis - Axis No. Attributes: Controller Read Write NextMove MintDrive & ServoNode 51 Command MultiAxis Scaled Default Range 1000 1000 0.0 ≤ x ≤ 8388607.
Mint™ v4 Advanced Programming Guide LOOPTIME Range 500 1000 2000 0 ≤ x ≤ 250,000 0 ≤ x ≤ 125,000 0 ≤ x ≤ 62,500 Description: The keyword IDLEVEL is used by the keyword IDLE in determining whether the axis is in motion or not. If the measured velocity, VEL, is not within the bounds specified by IDLEVEL, then IDLE will indicate that the axis is still in motion. Example: AXES[3] SCALE = 4000 IDLEPOS = 0.01 IDLEVEL = 1 MOVEA = 13.
Keyword Reference Guide 5 6 7 8 9 10 11 _ieFAILED_TO_READ_CARRIER_EEPROM _ieFAILED_TO_READ_POWER1_EEPROM _ieDSP_FAILED_TO_INITIALISE _ieDSP_LOST_USER_DATA _ieFAILED_TO_CLEAR_ALL _ieFAILED_TO_SET_WATCHDOG _ieEEPROM_DEFAULTS_USED Failed to read EEPROM Failed to read EEPROM DSP Failed to Initialise DSP detected Lost User Data DSP failed to clear Lost User Data condition Failed to set DSP Watchdog timeout Controller reset condition detected INPUTDEBOUNCE/IDB Purpose: To specify the number of samples that a d
Mint™ v4 Advanced Programming Guide Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: KACCEL[axes] = {, ...} v = KACCEL[axis] Dot Parameters: Axis - Axis No. Attributes: Controller Read Write NextMove MintDrive Command MultiAxis Scaled Default Range 0 0 0 ≤ x ≤ 10000 0 ≤ x ≤ 255 Description: Sets the digital servo loop acceleration feed forward gain term.
Keyword Reference Guide Figure 5: With acceleration feed forward. Example: KACCEL.0 = 45 Sets the acceleration feed forward term for axis 0 to be 45. See also: CURRLIMIT, DGAIN, KINT, KINTRANGE, KVEL, KVELFF KEYS Purpose: To remap the layout of the keys on a Baldor CAN keypadnode. Format: KEYS "Up to 64 ASCII Characters" The KEYS keyword allows you to configure your own keypad for any particular ASCII characters in an 8x8 array. The ASCII string following the keyword will define the keys.
Mint™ v4 Advanced Programming Guide KEYS "987A....654B....321@....-0.~...................................." REM | row 1 | row 2 | row 3 | row 4 | row 5 | row 6 | row 7 | row 8 | If keys are not used within the 8x8 matrix, they must be padded out with an arbitrary character. In this case a decimal dot is used. Since and are not directly supported using a standard keyboard, KEYS will interpret '@' as carriage return and will return ASCII code 13.
Keyword Reference Guide KINTMODE = 2 The integral action will have a maximum effect of 1.0V on the DAC output. This will only occur when the axis is at rest or is moving at a constant velocity. During acceleration or deceleration, the integral action is turned off. DEFAULT can be used to set all servo loop gains to zero and KINTLIMIT to 100%. Restrictions: KINTMODE is only applicable on servo axes.
Mint™ v4 Advanced Programming Guide See Also: CONFIG, DEFAULT, PROFILETIME MAXSPEED/MS Purpose: To set a limit for the speed demanded on an axis. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: MAXSPEED[axes] = {, ...} v = MAXSPEED[axis] Dot Parameters: Axis - Axis No. Attributes: Controller Read Write NextMove MintDrive Command MultiAxis Scaled Default Range 0 0 0 - 8388607.
Keyword Reference Guide See Also: AXISSTATUS, FEEDRATE, FEEDRATEOVERRIDE, SPEED MISCERROR/MER Purpose: To read or clear the miscellaneous error flag. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: MISCERROR = v = MISCERROR Dot Parameters: None.
Mint™ v4 Advanced Programming Guide Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: MISCERRORDISABLE = v = MISCERRORDISABLE Dot Parameters: None.
Keyword Reference Guide Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: v = MOVEBUFFERFREE[axis] Dot Parameters: Axis - Axis No. Attributes: Controller Read All Write Command MultiAxis Scaled Default Range 0 ≤ x ≤ 100 Description: Each axis maintains a data structure, into which moves are loaded, known as the move buffer.
Mint™ v4 Advanced Programming Guide Attributes: Controller Read Write NextMove Command MultiAxis Scaled Default Range 0 1 ≤ x ≤ 65535 Description: When a move is loaded into the move buffer, it is possible to give that move an identifier with the MOVEBUFFERID keyword. Reading the MOVEBUFFERID keyword will return the identifier of the currently executing move in the buffer.
Keyword Reference Guide Attributes: Controller Read NextMove Write Command MultiAxis Scaled Default Range 0 1 ≤ x ≤ 65535 Description: When a move is loaded into the move buffer, it is possible to give that move an identifier with the MOVEBUFFERID keyword. Reading the MOVEBUFFERID keyword will return the identifier of the currently executing move in the buffer. When the axis is idle or performing an unsupported move type, the identifier is zero.
Mint™ v4 Advanced Programming Guide is installed using the function installMoveBufferLowHandler, see the Mint v4 PC Programming Guide for further details on trapping events on the host. Move buffer low events can only be trapped using an embedded or a host application, not within Mint. Example: AXES[2] MOVEBUFFERSIZE = 10 MOVEBUFFERLOW = 3 The above example changes the MOVEBUFFERSIZE to 10.
Keyword Reference Guide See also: CONFIG, GO, MOVEBUFFERFREE MOVEBUFFERSTATUS/MBS Purpose: To return information about the move buffer. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: v = MOVEBUFFERSIZE[axis] Dot Parameters: Axis - Axis No.
Mint™ v4 Advanced Programming Guide NUMBEROF/NO Purpose: To return information about the hardware available on the Controller. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: v = NUMBEROF.type Dot Parameters: Type - Hardware Type Description: The NUMBEROF keyword can be used to return information about what hardware is present.
Keyword Reference Guide NVFLOAT/NVF Purpose: To write to non-volatile memory. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: NVFLOAT ( location ) = v = NVFLOAT ( location ) Attributes: Controller Read Write NextMove PCI, ServoNode 51 Command MultiAxis Scaled Default Range -8388607.0 ≤ x ≤ 8388607.0 Description: The NextMove PCI and ServoNode 51 controllers have an area of non-volatile RAM available for user access.
Mint™ v4 Advanced Programming Guide The data in this memory is retained when the controller is powered down. The data stored is duplicated. This allows the controller to determine if a write was in progress when power was removed. The error erNON_VOLATILE_MEMORY_ERROR (37) will be returned if the data is corrupted. The data must be read in the same format as it was written. Writing data to a location as a float and reading it back as a long will not give the same data.
Keyword Reference Guide Format: OFFSETMODE[axes] = {, ...} v = OFFSETMODE[axes] Dot Parameters: Axis - Axis No. Attributes: Controller Read Write MintDrive & ServoNode 51 Command MultiAxis Scaled Default Range 0 0≤x≤3 Description: The velocity profile of an OFFSET move is determined by the OFFSETMODE of the axis.
Mint™ v4 Advanced Programming Guide FOLLOWMODE.1 = 0 FOLLOW.1 = 0 OFFSETMODE.1 = 0 OFFSET.1 = 20 GO.1 Controller Specifics: On MintDrive OFFSETMODE = 2, the profiled Offset will be clipped at MAXSPEED if it exceeds it and thus the Offset would not be achieved in the desired OFFSETDISTANCE. Restrictions: Any changes in the master axis velocity will not be tracked by the OFFSET move, only the underlying FOLLOW motion. This can result in the offset not performing as expected.
Keyword Reference Guide IF OFFSETSTATUS.1 <> 0 THEN REM OFFSET failed See also: OFFSET, OFFSETMODE, OFFSETDISTANCE PLATFORM/PTM Purpose: To return the platform type. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: PRINT PLATFORM v = PLATFORM Dot Parameters: None. Description: PLATFORM returns the current platform type.
Mint™ v4 Advanced Programming Guide Attributes: Controller Read Write All Command MultiAxis Scaled Default Range -8388607 ≤ x ≤ 8388607 Description: Returns the current demand position set by the profiler. When a move is not being profiled by the controller (i.e. when the axis is Idle), it is possible to set a POSDEMAND. This will give a stepped response to the new demanded position.
Keyword Reference Guide Axis Position -ve 0 +ve A Negative increment value B Positive increment value B A Example: SCALE.0 = 1000 : REM Scale to mm PRECISIONINCREMENT.0 = 10.0 : REM Distance between compensation values 10.0 mm If the axis is scaled to mm, then the theoretical distance between the tables values is 10.0 mm. See also: PRECISIONMODE, PRECISIONOFFSET, PRECISIONTABLE, BACKLASHMODE PRECISIONMODE/PCM Purpose: Controls the action of leadscrew compensation.
Mint™ v4 Advanced Programming Guide where fwd x are the actual values for travel in direction from A to B and rev x are the actual values for travel in the direction from B to A. For single table compensation, the fwd x values would apply in both direction. Backlash compensation must be turned off before dual table compensation can be used. A value of 0, _lsOFF, turns of leadscrew compensation. Reading axis position with POS, will return the compensated axis position, i.e.
Keyword Reference Guide Mint Example: HOME.2 = 0 PAUSE IDLE.2 POS.2 = -50 PRECISIONOFFSET.2 = -50.0 : : : : REM REM REM REM REM Home axis in a negative direction Wait for move to complete Set axis position to -50 If axis is at point A of leadscrew then the offset is -50.0 See also: PRECISIONINCREMENT, PRECISIONMODE, PRECISIONTABLE, BACKLASHMODE PRECISIONTABLE Purpose: Loads the leadscrew compensation tables.
Mint™ v4 Advanced Programming Guide Example: A axis has a leadscrew for which bi-directional data is available. The leadscrew starts at position 100 and is laid such that travel in the forward direction (from A to B) results in a negative change in axis position. DIM forward(11) = 10, 1.01, 6.00, DIM reverse(11) = 10, 1.00, 6.00, 2.01, 6.99, 2.01, 6.98, 3.00, 8.00, 3.01, 7.99, 4.00, 9.01, 4.01, 9.00, 5.01, 10.00 5.00, 10.00 PRECISIONTABLE (0, forward, reverse) PRECISIONINCREMENT.
Keyword Reference Guide Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: PWMONTIME[axes] = {, ...} v = PWMONTIME[axis] Controller Read Write NextMove Command MultiAxis Scaled Default Range 1000 -16000 to 16000 Description: The four stepper axes can be configured as PWM or stepper outputs. Configuring one axis as PWM will change all axes currently configured as stepper into PWM.
Mint™ v4 Advanced Programming Guide See also: BOOST, CONFIG, FREQ, PULSE, PWMONTIME, STEPDIRECTION SPLINE/SPL Purpose: Perform a SPLINE move. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: SPLINE[axis] = {, ...} v = SPLINE[axis] Dot Parameters: Axis - Axis No.
Keyword Reference Guide When the spline is executed, each segment is processed in turn until the last segment is reached. If the spline has been specified as continuous, then the start segment will be processed at completion of the end segment. The start and end segments are set with the SPLINESTART and SPLINEEND keywords. The currently executing spline segment number can be read with SPLINEINDEX keyword.
Mint™ v4 Advanced Programming Guide SPLINE.0 = _spSPLINE_1 + _spABSOLUTE GO.0 : REM Absolute spline 1 : REM Start motion The profile is shown above. The position curve shows that the axis did not achieve position 10 since a spline 1 move is not guaranteed to pass through the specified position points. The other point to note is the length of the move. A spline 1 move doubles the segment duration specified for the first and last segments of the profile.
Keyword Reference Guide All position points are reached and each segment takes the specified duration. PVT A PVT allows both position and velocity data to be specified for a profile. The profile produced reaches all the position points specified in the position array at the velocity specified in the velocity array but the profile is only continuous in position and velocity. The segment durations may be specified with the SPLINETIME keyword or with a duration array.
Mint™ v4 Advanced Programming Guide The SPLINE keyword sets up a spline move using the arrays specified with the SPLINETABLE keyword. The functionality of the spline is controlled with the mode parameter. Once started with the GO keyword, the spline executes in the background. It will continue until the spline comes to a natural end or the move is terminated by the user with STOP, CANCEL or RESET or by an error condition. The axis must be idle before calling SPLINE and no further moves may be loaded.
Keyword Reference Guide The current spline segment index is read using the SPLINEINDEX keyword. For example: PAUSE SPLINEINDEX.3 = 5 OUT1 = 1 PAUSE SPLINEINDEX.3 = 9 OUT1 = 0 When the 5th segment is executed, output bit 1 is set. The output is cleared on the 9th segment. See Also: CAM, SPLINEEND, SPLINEINDEX, SPLINESTART, SPLINESUSPENDTIME, SPLINETABLE, SPLINETIME SPLINEEND/SPE Purpose: To define the end segment in the SPLINE table for a SPLINE move.
Mint™ v4 Advanced Programming Guide SPLINEINDEX/SPI Purpose: Returns the currently executing SPLINE segment number. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: v = SPLINEINDEX[axis] Dot Parameters: Axis - Axis No.
Keyword Reference Guide Attributes: Controller Read Write NextMove Command MultiAxis Scaled Default Range 1 1 ≤ x ≤ 16777215 Description: A SPLINE move will continue through the spline table, defined with SPLINETABLE, until the segment set as the end segment is reached. If the spline is continuous then the move will jump to the start segment defined with SPLINESTART. The start segment must be within number of segments in the currently specified spline table.
Mint™ v4 Advanced Programming Guide In the event of a controlled stop, e.g. the STOP keyword is issued or an asynchronous error mode indicates a controlled stop, then a spline move will ramp to zero speed over the number of milliseconds specified with the SPLINESUSPENDTIME keyword. When allowed to resume motion, the axis will continue to the current end of segment position with a duration of SPLINESUSPENDTIME. Example: SPLINETABLE (0, myArray, NULL, NULL) : REM Define a position array SPLINETIME.
Keyword Reference Guide The velocity table allows for end of segment velocities to be defined. The velocities are defined in user units/second as set with the SCALE keyword. If velocity information is defined, then the spline motion will only not be continuous in acceleration or jerk. If the no velocity array is required for a spline move, then NULL must be passed instead. Each spline segment is executed over a specified time duration.
Mint™ v4 Advanced Programming Guide Example: SPLINETABLE (1, myArray, myVel, NULL) SPLINETIME.1 = 30 : REM Duration of 30ms per segment SPLINE.1 = _spABSOLUTE GO.1 This sets up and starts a spline move on axes 0 and 1. The segment duration is set to 50 milliseconds. The minimum spline segment duration is 4 milliseconds, with a minimum resolution of 2ms. The maximum is 60000ms.
Keyword Reference Guide Figure 6: Effect of SRAMP on a move Example: SRAMP = 5,5 ACCEL = 500,500 SPEED = 20,20 CIRCLER = 100,200,45 : GO The SRAMP factor cannot be changed while a move is in progress. See also: ACCEL, CIRCLEA, CIRCLER, DECEL, FEEDRATE, MOVEA, MOVER, SPEED, VECTORA, VECTORR STEPPERIO/SI Purpose: Manually control the pulse and direction pins of a stepper channel. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: STEPPERIO.
Mint™ v4 Advanced Programming Guide This turns on both the pulse and the step direction pin of axis 4. See Also: BOOST, FREQ SUSPEND/SSD Purpose: To pause the current move. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Dot Parameters: Axis - Axis No. Format: SUSPEND[axes] = {, ...
Keyword Reference Guide TERMINALMODE/TMD Purpose: To set the overwrite mode of the terminal input/output channels. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: TERMINALMODE.channel = v = TERMINALMODE.channel Dot Parameters: Channel – serial channel.
Mint™ v4 Advanced Programming Guide Attributes: Controller Read All Write Command MultiAxis Scaled Default Range Description: Reads the current instantaneous demand velocity as generated by the profiler. Example: dim currentVel=0 currentVel = VELDEMAND.0 This get the current demand velocity for axis zero See Also: POSDEMAND VELENCODER/VEN Purpose: To select the source of the velocity signal used in dual encoder feedback systems.
Keyword Reference Guide Auxiliary encoder channel Value to write to VELENCODER 0 (NextMove BX and NextMove PCI) 1 (NextMove PCI with expansion card) -1 -2 To turn off dual encoder feedback, the velocity encoder must be set to the same encoder as is being used for position feedback. This can be achieved by reading the AXISCHANNEL keyword. For example, turn off dual encoder feedback on axis 0. VELENCODER.0 = AXISCHANNEL.0 Example 1 On NextMove PCI, axis 2 controls a table through a leadscrew.
Mint™ v4 Advanced Programming Guide VELFATALMODE/VLM Purpose: Specify the action taken in the event of the velocity threshold being exceeded. Controllers Supported: NextMove PCI NextMove PC NextMove BX MintDrive ServoNode 51 Format: VELFATALMODE[axes] = {, ...} v = VELFATALMODE[axis] Dot Parameters: Axis – Axis No.
NextMove Mappings 7. NextMove Mappings 7 This section contains the default axis mapping information for NextMove controllers. MN1270 02.
Mint™ v4 Advanced Programming Guide 7.1 NextMove PCI NextMove PCI expansion cards are sold in two variants; 4 axes of control and 8 axes of control. The number of axes of control on an expansion card adds to the number of axes of control on the main card, subject to a maximum of 12 axes of control. To check that the expansion card has been detected, enter VIEW HARDWARE at the Mint command prompt.
NextMove Mappings M1 - NextMove PCI with 1 axis of control M2 - NextMove PCI with 2 axes of control M3 - NextMove PCI with 3 axes of control M4 - NextMove PCI with 4 axes of control M8 - NextMove PCI with 8 axes of control E4 - NextMove PCI expansion with 4 axes of control E8 - NextMove PCI expansion with 8 axes of control For example, to write a value to the first DAC on the main card in open loop mode, the DAC keyword would be called with a channel number of 0.
Mint™ v4 Advanced Programming Guide (M1, M2, M3, M4) + (E4 + E4) / (E8 + E4) / (E8 + E8) Axis Number Channel Config 4 5 6 7 8 9 10 11 4 5 6 7 8 9 10 11 servo servo servo servo servo servo servo servo M8 Axis Number Channel Config 0 1 2 3 4 5 6 7 8 - 11 0 1 2 3 0 1 2 3 -1 servo servo servo servo stepper stepper stepper stepper off M8 + E4, M8 + E8, M8 + (E4 + E4) / (E4 + E8) / (E8 + E8) Axis Number Channel Config 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 0 1 2 3 4 5 6 7 servo servo servo servo step
NextMove Mappings 7.2.1 Open Loop Access The hardware channels on main and expansion cards have a fixed numbering system. Any open loop access to hardware will always be made through the channel number. The following tables show how the open loop channel number corresponds to the labeling on the breakout unit.
Mint™ v4 Advanced Programming Guide Main Card – M1, M2, M3, M4, M8 Open loop channel DAC Encoder 0 1 2 3 0 1 2 3 A B C D where: M2 - NextMove BX with 2 axes of control M3 - NextMove BX with 3 axes of control M4 - NextMove BX with 4 axes of control For example, to write a value to the first DAC on the main card in open loop mode, the DAC keyword would be called with a channel number of 0.
Bibliography 8.
Mint™ v4 Advanced Programming Guide 144 MN1270 02.