DSPMC Plugin and Firmware Status Software Division VITAL Systems Inc Copyright (c) 2008-2014 /////////// Rev 4.0.18 (06/27/14) Requires Firmware 8.14 (or newer) and FPGA E104 or newer /////////////////////////////////// * Write Encoder counts to OEMDRO 1350 - 1357 * THC Emulated keys to LED 2028 and 2029 for macro * Expanded DSPMC Macro DRO count to 50. * Added Serial Number check in plugin system config for selective DSPMC connection * Added support for firmware version 8 (supports stepGen and 16 encoders) * Added firmware and fpga compatibility check * Modified Status Window to display information for all axes and all 16 encoders * Added more error debug messages from DSPMC status * Added feedback gain to axis config * Added DAC watchdog feature in plugin system config. Disarms the DSPMC if DAC is outputting +10V or -10V for the specified amount of milliseconds. A time of 0 disables the feature. This helps in avoiding a runaway axis (ex. enc polarity doesn't match the motor travel direction). * Added check for using index pulse homing with no encoder * Added support for Shuttle USB MPG * Added delay to Gcode motion buffer download while MPG is still moving. * Fixed switching to MPG jog during feedhold * Fixed MPG jogging to not be able to control a slave axis * Removed Enable J11 and J12 Stepgen from sys config. configure in VSI DeviceManager Firmware config Firmware 8.14 > BIG CHANGE: Added 8 Step and Direction channels and increased encoder count to 16. > Added feedback gain > Changed DSP Macro DRO count to 50. > Added DAC watchdog feature in plugin system config. Disarms the DSPMC if DAC is outputting the max value of +10V or -10V for the specified amount of milliseconds. A time of 0 disables the feature. This helps in avoiding a runaway axis (ex. enc polarity doesn't match the motor travel direction). > Added Firmware config functionality (Configurable from VSI Device Manager). - Added ADC Sample counts for averaging analog input (higher values reduce fluctuations in the reading) - Added J3 Differential StepGen. Sets port J3 to use 3 Differential Step/Dir channels instead of 6 Single-ended - Added J11 and J12 Stepgen. Sets J11 or J12 behavior to output Step/Dir and read encoders for the 7736 Differential encoder and stepgen board. /////////// Rev 3.6.4 (09/26/13) Requires Firmware 7.19 or later /////////////////////////////////// * Mach3 variable 1000 must be set to DSPMC part number (e.g #1000=7762) for plugin to handle custom notifications and prevent unintended calls. * Added parameters to Rigid Tap, refer to user manual for a more detailed explanation #1008 Retract Delay in Seconds (eg .05) #1009 Tap Right Hand or Left Hand Thread (1 = Right; 0 = Left) Firmware 7.19 > Updated Rigid Tap functionality for left hand threading > Updated MPG logic to increase responsiveness and reduce vibration jerks (reduced sample time for better response) /////////// Rev 3.5.9 (08/01/13) Requires Firmware 7.14 or later /////////////////////////////////// * MPG logic update. Transmit State of GetLED(57) Firmware 7.14 > Fixed MPG logic to Deccel when GetLED(57) is off /////////// Rev 3.5.7 (07/24/13) Requires Firmware 7.12 or later /////////////////////////////////// * Added support for Rigid Tap for spindles controlled by VFD. Refer to user manual for details * Added Notify Handler 18000 - 18005 to do homing Firmware 7.12 > Added SetDSPData(94) to set the avgVelocitySamples > Added support for Rigid Tap for spindles controlled by VFD. Refer to user manual for details /////////// Rev 3.5.6 (06/26/13) Requires Firmware 7.10 or later /////////////////////////////////// * Support for unconditional position sync (via macro) * Added DSPMC User Messages * Added User Axis enable message in DSPMC user messages Firmware 7.10 > DSPMC units with this firmware REQUIRE Macro feature to be activated > Added Scan and Trigger Macro Command (turns on a specified Digital output when a specified analog input threshold is reached) > Added Unconditional Sync to SetDSPData command in Macro /////////// Rev 3.5.4 (05/16/13) Requires Firmware 7.05 or later /////////////////////////////////// * Fixed axis polarity bug Firmware 7.05 > Changed GetDSPData(120) to read if jog sequence in progress OR profileGen state is not stopped > Added GetDSPData(210 - 217) read if there is profileGen motion on a specific axis. (returns 1 if motion is present) > Set MPG to not go beyond configured axis max velocity and acceleration (now based on motion planner) > Improved Feedhold to use calculated values from axis acceleration /////////// Rev 3.5.2 (04/08/13) Requires Firmware 7.02 or later//////////////////////////// * sync position when axis enbled or disabled by DoOEMButton(250...255) * Receive FIFO EMPTY and FORCE SYNC messages in status (was causing problem for threading) * Added Clear encoder counter to status window Firmware 7.02 Allow setting DAC voltage from PC if axis not enabled /////////// Rev 3.5.0 (03/28/13) Requires Firmware 7.0 or later//////////////////////////// * Added display for Soft Encoders in Status Window * Added new check if DSPMC is on a separate network, and a debug message. * Added support for Mach3 to use all three MPGs Firmware 7.01 > ***Mach4 support*** > updated Macro to exit when macro is stopped while in a Sleep function > added SetDSPData(92, bool) to stop macro on disarm. /////////// Rev 3.28.1 (02/04/13) Require Firmware 6.57 or later///////////////////////// * Added "InPositionCount" Field (defines axis inPosition boundary) * updated "IsMoving" logic. * removed spindle relay not enabled message * remove spindle axis from feedrate calculation Firmware 6.57 > If using dspMacro motion commands, user should switch back to mach3 control using dspMacro 110-117 setdspdata. > Fixed dspMacro velocity mode bug that caused motor to stop unexpectedly /////////// Firmware 6.55 (01/09/13)/////////////////////////////////////////////////// > GetDSPData 200..207 to read DAC voltage > SetDSPData 110..117 to enable diasable motion override > Allow SetDSPData to write to DAC even DAC is configured in axis control /////////// Rev 3.27.8 (11/2/12) Require Firmware 6.51 or later///////////////////////// * Fixed "IsMoving" bug with Spindle Axis Enabled. * Fixed bug in RPM calculation * Pressing Stop Button does not stop Macro-Generated motion. /////////// Rev 3.27.7 (10/2/12) Require Firmware 6.48 or later///////////////////////// * Home offset used by Slave Axis for extra move to square gantry. * Added THC mode checkbox to update DROs and LEDs for the macro * Added Checkbox for emulated THC up/down input option for testing purposes * Save THC data to User Output DROs and LEDs if in THC mode - LED(2031) = LED #24 THC correction enabled - DRO(2006) = DRO #25 THC Speed 0-100% (always use Z Axis) * AxisMaxVelocity - DRO(2007) = AxisAccel - DRO(2008) = DRO #27 THC Max Correction Max height + currentAxisPosition - DRO(2009) = DRO #65 THC Min Correction Min height + currentAxisPosition Firmware 6.48 > Increased PID performance > PID Scale not used (set to 1 for backward compatibility) > Slave Independent Homing Supported > Macro Function GetDSPData(180 - 187) returns instantaneous velocity for axis 0-7 > GetDSPData(180 - 187) returns the average velocity (25ms interval) > Fixed Macro functions Get/Set DRO bug /////////// Rev 3.27.5 08/27/12 Require Firmware 6.45 or later////////////////////////// * Ignore limits while homing if any of + or - limit on the axis is same as the home sensor * ExternalStill set to true on homing complete * optimize mach3 buffer size for faster response to feedrate change. * Added dspMacro SetDSPData(91) to arm/disarm pid * homing: auto move away from Index pulse if IndexOnly type selected /////////// Rev 3.27.2 05/02/12 Require Firmware 6.43 or later////////////////////////// * Velocity Move now supported. * Added Sleep, SetDRO, GetDRO, SetLED, GetLED. * Added Coordinated Move and Extended Coordinated Move * Added a warning message at startup if spindle relays are disabled * spindle relay off error message change to log message /////////// Rev 3.26 2/3/12 Require Firmware 6.41 or later////////////////////////////// * If limits and home inputs are the same pin, then ignore limits when homing. * Digital Inputs 0..63 are mapped to Mach3 OEMLEDs 1300..1363 * Added feature to set any Mach3 axis as the spindle axis * Added feature to support ±10V on Spindle Analog Ouput, in addition to 0-10v. * Updated Spindle Logic to use M3/M4/M5 commands. Make sure Spindle Relays are enabled. * Manual Pulse Generation can now use soft limits * Removed LED50 for threading cycle to match Mach3 update /////////// Rev 3.20 6/28/2011. Require Firmware 6.29 or later///////////////////////// * floating point CountsPerUnit * dspMacro - UserLEDs are not cleared after dspMacro terminates. * dspMacro - Axis motion generated by dspMacro overrides gcode motion. * Added Motion Sequence ID in ExecMove for motion completion checking /////////// Rev 3.19 4/26/2011. Require Firmware 6.26 or later///////////////////////// * I/O Status in status window * Fixed CountsPerUnit registry entry for test motion * J11 and J12 pins now available in mach3 * Engine->Axis[axis].Enable check for sync * removed already in Jogging check * dspMacro motion command now overrides position follower mode /////////// Rev 3.17 March 11 2011. Require SyncRay Firmware 6.25 or later///////////// * Update PID values for slave axis from master axis * Fixed mach3 system menu of ArtCode Error by the plugin * Use correct address mask for IP messaging * added line number on status window * ExternalStill set to false during homing * Probing fix - check for axis enable and slave * Fixed slave Following-Error on PID Arm. * Fix gcode line number logic when x axis not enabled * New IIR Low Pass Filter depth range 0..32 /////////// Rev 3.14 November 25 2010. Require SyncRay Firmware 6.23 or later////////// * backlash logic update to incorporate backlash application speed * encoder debounce user configuration screen (system tab in plugin) * Fixed MPG logic to retain the commanded position * using microsecond timer for threading RPM calculation * Using Floating point position counter for MPG * Accurate Feedrate modulation for lathe threading * FPGA upgrade logic * Feedrate calc fix. reported wrong value when encoder number was different from axis number. * no special LED manipulation for lathe threading required. Mach3 now automatically sets OemLED 50 while threading. removed 1999 LED logic. /////////////// Rev 3.12 Oct/5/2010 Require SyncRay Firmware 6.15 or later////////////// * Set/Clear LED 116 on Spindle On/Off notify message * fixed position DRO formating on config screen * Use unit/min velocity setting in motion test (instead of unit/sec) * fix probing pin problem. removed -1 from pProbMsg->ProbePin * dspMacro: Updated indexes for Get Set DSPData. * dspMacro: SetDSPData now write to analog outputs also. * dspMacro: Analog and digital output to 0 when dspMacro stops * Index pulse counter zero fix * Added Velocity Feed Forward and IIR Low pass filter for lower following error and smooth motion /////////// Rev 3.11 7/20/2010//////////////////////////////////////////////////////////// * New Config Dialog Tab Windows added