PMDX-SmartBOB-USB
Mach4 Plug-in Release Notes
Version 0.46.221
31 Aug 2016


Table of Contents

  1. Support and Updates
  2. Latest Plug-in Version Release Notes
  3. Issue with Input Signals and Mach4 Startup
  4. Encoder/MPG Configuration
  5. Step Pulse Frequency Spindle Speed Control
  6. Spindle RPM Configuration
  7. Probing Features and Restrictions
  8. Threading Information and Restrictions
  9. Real-Time Signal Display
  10. Homing Features and Restrictions
  11. PMDX-126 Expanded Inputs
  12. Sample Mach4 Profiles (Optional)
  13. Previous Plug-In Versions

(1) Support and Updates

Support for the PMDX-SmartBOB line of products is available on our support forums here: http://www.pmdx.com/pmdx-forums/

Plug-In Updates: We announce new versions of both Mach4 and the SmartBOB Mach4 Plug-In software on our forums. You can subscribe to receive an email whenever we post an annoucement so that you always have the latest features and bug fixes. We also post plug-in releases on the SmartBOB-USB Mach4 Plug-in page.

Documentation Updates: We also announce new versions of the PMDX-SmartBOB Quick Start Guide and the upcoming User's Manual on our forums.

(2) Latest Plug-In Version Release Notes

(2.1) M6 Tool Change Macro Notes:

The M6 macros provided in our sample profiles in PMDX SmartBOB plug-in versions 0.43.213 and earlier DO NOT WORK due to a file name corruption. Plug-in release 0.44.214 and later releases (including this release) fixes this file name problem if you are installing the sample profiles for the first time. It WILL NOT fix any existing sample profiles, nor will it fix any profiles that you have copied from the sample profiles.

The issue has to do with upper case vs. lower case "M" the "M6" part of the file name. In order for the macros to be called by Mach4, the case of the file name must match the case of the function name. If the file name is "m6.mcs" then the function name inside the file must be "m6()". Likewise, if the file name is "M6.mcs" then the function name must be "M6()". The sample M6 macros that we provide use upper case in the function name, but the file name got changed to lower case.

This problem does not affect the upper or lower case used to call the "M6" macro from your GCode files or MDI commands. You may still use either upper or lower case (i.e. "M6" or "m6").

There are two ways to fix this in your existing profiles:

  1. EXIT MACH4! In the "YourProfileName/Macros" directory, rename the "m6.mcs" file to "M6.mcs" (i.e. using upper case "M" as the first character of the file name). Then you must also delete the "m6.mcc" file to force Mach4 to re-compile the M6 macro.
  2. Or... EXIT MACH4! Edit the "m6.mcs" file in the "YourProfileName/Macros" directory and change the function name from "M6()" to "m6()" (i.e. now using a lower case "m"). You will need to do this in two places. The first is at the top of the file where the line reads "function M6()". The second place is near the end of the file where there are 3 lines that tell the debugger to call this function.

(2.2) Screen Set Note:

If you are using the older "wxMach" screen set and have NOT made any modifications to it, we strongly urge you to update your profiles to use the newer "wx4" screen set. The "wxMach" screen set is no longer under active development, and does not include any of the probing support that is in the newer "wx4" screen set. Furthermore, the "wx4" screen set is being actively improved and enhanced.

How do I know which screen set I an using? The "wx4" screen set has "Probing" and "Offsets" tabs along the top of the Mach4 window, next to the "Program Run", "Tool Path" and "Machine Diagnostics" tabs. It also shows you the screen set name in the lower right corner of the Mach4 window, at least in the wx4 screen set as installed with Mach4 build 2914. This might change in future releases or if someone has edited the screen set. The "wxMach" does not have the "Probing" or "Offsets" tabs, and does not show the screen set name.

Changing the Screen Set: To change the screen set:

  1. start Mach4 and load your profile
  2. Go to the "View" menu and select "Load Screen"
  3. When the "Select Screen File" dialog appears, change into the "Screens" folder if it is not already there.
  4. Select/highlight the "wx4.set" file and click on "Open"

(2.3) New features since Version 0.45.217:

(2.4) Bug Fixes Since Version 0.47.217:

(2.5) Known Issues:

**WARNING**

If your profile contains macros for M3, M4 or M5 like the ones installed by the Mach4Hobby installer in the "Mach4Mill" profile, you MUST delete these files in order for the PWM spindle speed control to function. The macros as provided with the "Mach4Mill" profile DO NOT WORK, and they are not needed for the PMDX-SmartBOB-USB to function. See the instructions below on how to delete these files.

If you used the Mach4 Loader's "Copy Profile" button to copy the "Mach4Mill" profile to a new profile, that new profile will contain these macro files. If you copied the "PMDX-Sample" profile to a new profile, that new profile will not contain these macro files (see note below). If instead of copying an existing profile, you clicked on the "Create Profile" button to create a new profile, that new profile should not contain these macro files.

NOTE that if you installed the PMDX sample profile from plug-in version 0.13.63 (Nov 2014) or earlier, that profile may contain these macro files. You will need to manually delete them (see below for instructions). EVEN IF YOU TOLD THIS LATEST INSTALLER TO INSTALL THE SAMPLE PROFILE! The installer does NOT overwrite an existing copy of the sample profile.

If you have created custom versions of the M3, M4 or M5 macros, or have Lua code that affects that functionality, you will need to test them with the PMDX-SmartBOB-USB plug-in to see if the plug-in still works with your macros.

To delete the M3/M4/M5 Macro files: Presuming that you intalled Mach4 in the default "C:\Mach4Hobby" directory, these macros files are stored in the "C:\Mach4Hobby\Profiles\YourProfileName\Macros" directory. If you installed Mach4 into a different directory (for example, "C:\MyMach4"), the substitute that directory name for the "Mach4Hobby" directory in the directory path mentioned above (it now becomes "C:\MyMach4\Profiles\YourProfileName\Macros"). You should see two files for each M-code. For example, "M3.mcc" and "M3.mcs". You must remove both of these files for each M-code, either by deleting them or by moving them to another directory.


(3) Issue with Input Signals and Mach4 Startup

Symptoms of Mach4 Startup Input Signal Problem

Sometimes, when you start Mach4 with a PMDX-SmartBOB connected and enabled, the input signals from the SmartBOB will not be properly handled by Mach4. If you display the "Machine Diagnostics" tab in Mach4, some of the input signals that come from the SmartBOB will show as active when they are in fact NOT active. If any of these signals are assigned to limit switches then Mach4 will not allow motion towards those limits until the inputs are properly synchronized. Toggling that input signal will cause Mach4 to then display the proper input signal state.

NOTE: This only happens on Mach4 startup. Once Mach4 and the SmartBOB plug-in and device are running, the input signals function as they should.

This happens only on some computers, and only on input signals from the SmartBOB are defined as "Active Low". Even then, this does not always happen.

Work-Around

Our work-around for this problem was for PMDX to add a delay to our plug-in. During startup, the plug-in inserts a delay between the time Mach4 tells us it is OK to start reporting signal values and when we actually start reporting them. By default this delay is set to 250 milliseconds. This works for a variety of computers here at PMDX, but it may not work for you. If not, see the steps below to adjust the delay.

If you see the symptoms described above, then try changing the startup delay as follows:

If you still see the input sigals displaying incorrectly on startup, increase the delay some more and try again. If you reach the maximim startup delay and you still see the input signals displaying incorrectly, contact PMDX support. Meanwhile you should be able to use the "Manual" work-around described below.

Manual Work-Around

Opening and closing the "Mach Configuration" dialog will also correct this problem. Go to the Mach "Configure" menu and select "Mach". When the "Mach Configuration" appears, click on either "OK" or "CANCEL". This causes the SmartBOB plug-in and the Mach4 core to resynchronize and Mach4 will display the correct input signal states.

(4) Encoder/MPG Configuration

Section contents:
    (4.1) Encoder Overview
    (4.2) Displaying and Changing the Encoder Position
    (4.3) Connecting the Encoder to the PMDX-SmartBOB
    (4.4) Configuring the Encoder as an MPG
    (4.5) Configuring the Encoder for Spindle RPM

(4.1) Encoder Overview

The following PMDX-SmartBOB boards support an encoder interface:

The encoder can be used as an MPG (Manual Pulse Generator) for jogging axes or changing parameters (such as "Feed Rate Override"). The encoder can also be used to measure the spindle RPM (see the Spindle RPM section for more information). Note that using an encoder to jog axes or change Mach4 parameters currently requires custom Lua code to select the axis to jog, or to update the Mach4 parameter from changes in the encoder position. Once an axis has been selected for MPG jogging, Mach4 will handle converting encoder position changes into jog motion.

Encoders on the PMDX-SmartBOB can operate in one of two modes:

(4.2) Displaying and Changing the Encoder Position

If the encoder is enabled, the SmartBOB's real-time display will show the current encoder position. To display the real-time status window, go to the "Diagnostics" menu and select "PMDX-SmartBOB-USB", then click on the "Show Real-Time Input/Output Status"button.

If you wish to create a DRO on your screen set to display the encoder position, use the following steps.

NOTE: What follows is not a detailed step-by-step process for editing the screen set. It just outlines the major steps needed. Please refer to the "Scripting Manual" in the Mach4Hobby\Docs directory and the MachSupport forums for more help with editing the screen sets.

  1. Enter the screen editor by going to the Mach4 "Operator" menu and selecting the "Edit Screen".
  2. Add a DRO somewhere on your screen.
  3. Click once on the DRO to display its properties in the lower left corner of the Mach4 window.
  4. Set the "Register" parameter to "SmartBOBUSB/EncoderDRO". DO NOT SET TO "SmartBOBUSB/Encoder&MPG"! Doing so can cause spurious jog motion when you edit the DRO value to change the encoder position. The plug-in will also ignore external changes made to the "SmartBOBUSB/Encoder&MPG" register and will overwrite any changes with the actual value from the SmartBOB device the next time the encoder is rotated.
  5. Set the "Format" field to "%d" (without the quotes).
  6. Set the "Editor" field to "In Place" if you want to be able to change the encoder position by editing the DRO value (see below). If all you want to do is display the encoder position, then set the "Editor" field to "Read Only".
  7. Close the screen editor by again going to the Mach4 "Operator" menu and selecting the "Edit Screen". When asked if you want to save the changes, answer "Yes"

Changing the Encoder Position: If you allowed the DRO to be edited, the plug-in will allow you to change the current encoder position only in the following circumstances:

If the encoder mode is one with an index pulse, the plug-in will not allow you to change the encoder position. Instead it relies on the index pulse to set the zero location. If the encoder is mapped to an MPG and Mach4 is enabled the plug-in will not allow changing the encoder position because that could cause spurious (and quite large) jog motions from the MPG system.

(4.3) Connecting the Encoder to the PMDX-SmartBOB:

To connect a quadrature encoder (with or without index):

  1. Connect the "A" and "B" phases to the "A" and "B" input terminals on the encoder connector.
  2. If the encoder has an "index" signal, connect the "index" wire to the "C" terminal on the encoder connector. While it is possible to connect the "index" wire to any input on the PMDX-410 and PMDX-422 boards, the "C" input has a faster response time. On boards with isolated inputs (the PMDX-416 and PMDX-424, for example), you must use the "C" input because the other inputs do not share the same ground as the encoder connector and all signals from the encoder must use the same ground reference.

To connect a single-line encoder (with or without index):

  1. The encoder input must be connected to the "B" input on the encoder connector.
  2. If the encoder has an "index" signal, connect it to the "C" input on the encoder connecter as described above in the quadrature encoder section.

(4.4) Configuring the Encoder as an MPG

WARNING: When using an encoder for jogging an axis or changing a Mach4 parameter, DO NOT use an encoder mode with index. If you use an encoder mode with an index input, you will get unexpected behavior (very large jog motion) when the encoder position rolls over from "max count" to zero at the index pulse.

To configure the encoder for use as an MPG:

  1. Enable the encoder. In Mach4 go to the "Configure" menu and select "Plugins..." and then select the "PMDX SmartBOB-USB".
  2. Click on the "Encoder Config" tab.
  3. Click on either the "Bi-Directional Encoder without Index" or "Uni-directional without index".
  4. Currently, the "Encoder Counts per Revolution" field is ignored when using encoder modes without an index pulse, so you can leave that field set to its default value.
  5. Click on the "OK" button to save the changes and close the plug-in configuration dialog.
  6. Go to the Mach4 "Configuration" menu and select "Mach...", and then click on the "MPG" tab.
  7. Use the row marked "Mpg #0" unless you have other encoders already configured using that row.
  8. Click on the red "X" in the "Enabled" column to change it to a green check mark.
  9. Click in the box in the "Encoder" column, then click on the down arrow to display a list of available encoders. Select "SmartBOBUSB/Encoder&MPG".
  10. Leave the "Counts per Detent" set to "1". The current plug-in version ignores this field.
  11. Enter a non-zero value in both the "Accel%" and "Velocity%" columns. These numbers represent the acceleration and velocity used for jogging motion from this MPG. They are a percentage of the velocity and acceleration values entered in the "Motors" tab. For example, if you enter "50" in both columns, MPG jog motion will use 50% of the axis' maximum velocity and 50% of the axis' acceleration.
    NOTE: If you leave these set to zero, the PMDX-SmartBOB plug-in will not allow you to enable Mach4. These must be set to non-zero values.
  12. The "Reversed" column should only be checked if rotating the MPG causes the axis to jog in the opposite direction from what you expect. Normally this is not needed, and you should use the "Quadrature Encoder Reversed" setting in our plug-in encoder configuration tab.
  13. Click on the "OK" button to save the changes.

The encoder is now configured to act as an MPG. You will need either custom buttons on you screen set, or custom Lua code in order to select which axis the MPG will jog (it defaults to the "X" axis).

WARNING: In Mach4 builds up through 2914 (at least), the default screen sets (both the "wx4" and "wxMach" screens) do not provide a way to disable MPG jogging. It is enabled by default. When an encoder is configured as an MPG, if Mach4 is enabled and you turn the encoder, Mach4 will jog the current axis. The only way to be able to turn the encoder/MPG without jogging an axis is to disable Mach4, or use the "Jog MPG" output signal as described below.

Using the "Jog MPG" Output: In the Mach configuration dialog on the "Output Signals" tab is a signal names "Jog MPG". If that signal is enabled and in-active (i.e. set to zero), then Mach4 will ignore the MPG and not jog the current axis. If the "Jog MPG" output is active (i.e. set to one), then Mach4 will attempt to jog the current axis if the MPG changes and Mach4 is enabled. The "Jog MPG" output is special in that any Lua script or screen control may control its output value using mc.mcIoSetState(), the Mach4 core does not control it.

(4.5) Configuring the Encoder for Spindle RPM

WARNING: If the encoder will be mounted on the spindle, DO NOT configure the encoder as an MPG! Doing so will cause Mach4 to attempt to jog the current axis whenever the spindle is turning.

To configure the encoder for spindle RPM calculations, follow the steps in the How to Configure an Encoder for Spindle RPM section.

(5) Step Pulse Frequency Spindle Speed Control

In addition to PWM (pulse width modulation) spindle speed control, the PMDX-SmartBOB also supports "step pulse frequency" mode. In this mode the PMDX-SmartBOB outputs a series of step pulses whose frequency is related to the desired spindle speed. The pulse frequency is calculated by:

Pulse Freq (Hz) = (CommandedRPM / MaxRPM) * MaxPulseFrequency

The "MaxRPM" value is the value entered in the Mach4 spindle configuration tab as described below.

The step pulses are always 50% duty cycle, meaning that the pulse width is one-half of the pulse period. In other words:

pulse width (in seconds) = 1 / [ 2 * (pulse frequency in Hz) ]

To configure an output pin for step pulse frequency mode:

  1. Go to the plug-in configuration dialog and click on the "Spindle Config" tab. To bring up the plug-in configuration dialog go to the Mach4 "Configuration" menu and select "Plugins...", then select "PMDX-SmartBOB-USB".
  2. In the top section labeled "Spindle Speed Control" click on the "Pulse Frequency" radio button.
  3. Select the output pin that you wish to use for the step pulse output.
  4. In the "Max Pulse Frequency" field enter the pulse frequency that corresponds to your spindle controller's maximum RPM. The plug-in will accept values between 100 Hz and 25,000 Hz (25 KHz). Consult the documentation for your spindle controller to find out the frequency value to enter here.
  5. There is also a "PWM/Pulse Freq Output Polarity" field. Normally you can leave this (or set this) to "Active High". Since the PMDX-SmartBOB outputs a 50% duty cycle waveform, the polarity does not matter when we are outputting pulses (i.e. when the spindle is moving). The only time that the polarity MIGHT matter is when the spindle is idle. If "Active High" does not work with your spindle controller, try the "Active Low" setting.
  6. Click on the "OK" button to save your changes.
  7. Now configure your spindle speed range. Go to the Mach4 "Configuration" menu and select "Mach...". Then click on the "Spindle" tab.
  8. In the first row (labeled "0"), enter the minimum RPM (usually zero) and maximum RPM of the actual spindle. This is NOT the same as the maximum step pulse frequency that you entered above! Rather, this is the spindle RPM that will (or should) result from the PMDX-SmartBOB outputting that maximum step pulse frequency.
  9. If you wish to fill in the "Accel Time" and "Decel Time" fields, enter the maximum time (in seconds) that it takes your spindle controller to go from stopped to max RPM, and from max RPM to stopped. Mach4 will then add a delay after each M3, M4 or M5 command. The delay (in seconds) is calculated as:
    Acceleration delay: [(CommandedRPM - CurrentRPM) / (MaxRPM)] * AccelTime
    Deceleration delay: [(CurrentRPM - CommandedRPM) / (MaxRPM)] * DecelTime
  10. The PMDX-SmartBOB plug-in currently ignores the "Feedback Ratio" and "Reversed" fields.
  11. The PMDX-SmartBOB plug-also in ignores the "Max Spindle Motor RPM" setting near the bottom of this dialog.
  12. We usually recommend leaving the "Wait onspindle to stabilize to" box un-checked.
  13. Click on the "OK" button to save these changes.

You should now be ready to run your spindle.

WARNING: Step Pulse Frequency control is NOT the same as using a Mach4 "Out of Band" motor for spindle speed control. Out of Band motors are controlled by the Mach4 motion planner and are not currently supported by the PMDX-SmartBOB plug-in. Step pulse frequency speed control is controlled entirely by the PMDX-SmartBOB plug-in in the same manner as PWM speed control.

(6) Spindle RPM Calculation and Configuration

Section contents:

(6.1) Spindle RPM Overview
(6.2) Limitations
(6.3) How to Configure a 1 Pulse per Revolution Spindle Sensor
(6.4) Configuring an Encoder for Spindle RPM
(6.5) Configuring the Encoder for Spindle RPM

(6.1) Spindle RPM Overview

The PMDX-SmartBOB supports three methods of measuring or estimating the spindle RPM and reporting that to Mach4:

(6.2) Limitations

(6.3) How to Configure a 1 Pulse Per Revolution Spindle Sensor

To configure Mach4 to use a SmartBOB input as a 1 pulse per revolution spindle speed sensor input:

  1. Connect your sensor (usually an optical or proximity sensor) to one of the SmartBOB's input terminals. You may use any of the SmartBOB inputs. If you are using a PMDX-410 (revision B or higher), PMDX-422 (revision B or higher), PMDX-416 or PMDX-424, we recomment using the "C" input on the encoder connector as that input has a faster response than the regular input terminals.
  2. In Mach4, go to the "Configure" menu and select "Mach...".
  3. Click on the "Input Signals" tab and scroll down almost to the bottom to find the "Index" signal.
  4. On the "Index" line, click on the red "X" in the "Mapping Enabled" column to change it to a green check mark to enable that input. In the "Device" column select the "SmartBOBUSB". Then in the "Input Name" column select the SmartBOB input pin that you have the sensor connected to. Depending on your sensor configuration you may also have to change the "Active Low" setting.
  5. Click on "OK" to apply the new configuration.
  6. To test your spindle sensor, click on the Mach4 "Machine Diagnostics" tab (in older screen sets this was also called "Diagnostics"). Then slowly rotate the spindle by hand. You should see the "Index" indicator in the upper left section of the screen light up when the sensor triggers. If the indicator is "on" most of the time and only turns off when the sensor triggers, then change the "Active Low" setting on the "Input Signals" tab as mentioned above.

You should now be able to see the measured spindle RPM in the "Spindle" section in the lower right corner of the Mach4 screen.

(6.4) How to Configure an Encoder for Spindle RPM

Connect your encoder as described in the Connecting the Encoder section.

To configure the plug-in and Mach4 to use the encoder for spindle RPM:

  1. Configure the "Index" input as described above in How to Configure a 1 Pulse Per Revolution Spindle Sensor.
  2. Next enable the encoder. In Mach4 go to the "Configure" menu and select "Plugins..." and then select the "PMDX SmartBOB-USB".
  3. Click on the "Encoder Config" tab.
  4. Click on either the "Bi-Directional Encoder with Index" or "Uni-directional with index".
  5. Fill in the "Encoder Counts per Revolution" field with the number of encoder counts (also called "number of lines") per spindle revolution. This is not the number of quadrature counts (quadrature counts are 4 times the line count).
  6. Click on the "Spindle Config" tab.
  7. In the section titled "Spindle RPM Measurement and Reporting", select "Measure RPM from the Encoder".
  8. Click on the "OK" button to save the changes.

(6.5) How to Configure the Spindle RPM from PWM Duty Cycle

If you don't have a sensor on your spindle, and you are controlling the spindle speed with a PWM signal from the SmartBOB, then you can have the SmartBOB plug-in calculate an estimated RPM based on the PWM duty cycle. This is the estimated RPM because the spindle speed interface (for example, the PMDX-407) and the spindle control electronics (VFD, etc.) may not have an exactly linear response to the PWM signal.

NOTE: This option is not available if there is an input pin mapped to the Mach4 "Index" input. An "Index" signal that can measure the actual spindle RPM take priority over an estimated RPM reading.

To enable using the PWM duty cycle for spindle RPM:

  1. Open the SmartBOB plug-in configuration dialog by going to the "Configuration" menu and selecting "Plugins...", then click on the "PMDX SmartBOB-USB" item. In older versions of Mach4, you will see a plug-in dialog and you will have to click on the "Configure" button on the PMDX SmartBOB line.
  2. When the SmartBOB plug-in configuration dialog is displayed, click on the "Spindle Config" tab.
  3. Make sure that the PWM output is enabled in the "PWM Spindle Speed Control" section.
  4. Then check the box labeled "Report calculated spindle RPM to Mach4". Note that this check box will not be available if there is a SmartBOB input mapped to the Mach4 "Index" input signal.
  5. Click on "OK" to activate the new setting.

You should now be able to see the estimated spindle RPM in the "Spindle" section in the lower right corner of the Mach4 screen.

(7) Probing Features and Restrictions

The PMDX-SmartBOB's probing implementation makes the following assumptions and restrictions:

WARNING: There is a bug in Mach4 builds up through 2568 that can cause the Mach4 core to hang if the limit switch input is active when a G31 command is started. This was partially fixed in build 2568, but running the G31 command from the MDI window still exhibits this problem. G31 commands inside of a GCode file work properly in build 2568.

(8) Threading Information and Restrictions

COMING SOON

(9) Real-Time Signal Display

The SmartBOB plug-in allows you to show a window that displays the states of the input and output signals as they appear to the screw terminals or 26-pin ribbon header pins on the SmartBOB board. It also displays the current encoder position for devices that support encoder inputs. This can be used to help diagnose issues with signal assignments in Mach4 and also to make sure that the SmartBOB is "seeing" the signals you have connected to it.

To display the real-time status of the I/O signals, go to the Mach4 "Diagnostic" menu and select the "PMDX-SmartBOB-USB" from the drop-down list. On the diagnostics window that is displayed, click on the "Show Real-Time Input/Output Status" button. That will display another window to show the states of the input and output signals. This new window defaults to being always on top, meaning it will always be on top of any other window, including the main Mach4 display. If you don't want that behavior then un-check the "Stay on Top" check box.

The real-time status uses colors to show the state of the input and output signals:

(10) Homing Features and Restrictions

Homing Assumptions and Restrictions

The PMDX-SmartBOB-USB Plug-In and firmware are designed with some assumptions about the machine's configuration and some restrictions as to what machine configurations are supported. These assumptions and restrictions only pertain if the SmartBOB is selected as the "motion device" in Mach4.

The plug-in will generate an error message and abort the homing sequence if the configuration does not meet these restrictions. Some of these restrictions will be removed in future releases of the PMDX-SmartBOB plug-in.

The assumptions and restrictions are:

Homing Operation

The PMDX-SmartBOB-USB takes the following steps to home an axis:

Future versions of the SmartBOB plug-in will allow the user to configure all of the parameters used in the homing sequence above.

(11) PMDX-126 Expanded Inputs

The SmartBOB plug-in now supports the PMDX-126 in "Expanded Inputs" mode. When "Expanded Inputs" mode is enabled, there are an additional 4 input signals available. The additional inputs signals are named "PinE", "PinF", "PinG" and "PinH" to match the signal names on the silkscreen on the PMDX-126 circuit board. This means that the PMDX-411 has 9 input available (all through the PMDX-126), the PMDX-410 and PMDX-422 have 12 inputs available (9 through the PMDX-126 and 3 from the PMDX-410/422's J10 connector). See the following table.

Inputs Available in Expanded Inputs Mode
PMDX-411PMDX-410/422From PMDX-126
Pin10Pin10Yes
Pin11Pin11Yes
Pin12Pin12Yes
Pin13Pin13Yes
Pin15Pin15Yes
 PinANo
 PinBNo
 PinCNo
PinEPinEYes
PinFPinFYes
PinGPinGYes
PinHPinHYes

Expanded Inputs Mode Assumptions and Restrictions

The SmartBOB plug-in and the PMDX-126 board have certain requirements and restrictions in order for Expanded Inputs mode to function properly.

Expanded Inputs Mode Input Signal Sample Rates

When in "Expanded Inputs" mode, inputs Pin11, Pin12, Pin13, Pin15, Pin E, PinF, PinG and PinH are sampled at a rate determined by the charge pump frequency, which has a fixed (non-user editable) value depending on which SmartBOB device you have. PMDX-411 devices sample at 2.5 KHz (every 400 microseconds). PMDX-410 and PMDX-422 devices sample at 300 Hz (every 6.67 milliseconds). The difference in sample rates is due to the RC filters on the PMDX-410/422 input signals, which limit how fast we can sample. The PMDX-411 does not have these RC filters and thus can run at a higher sample rate.

(12) Sample Mach4 Profile (Optional)

If you selected to install and of the sample profiles during the plug-in installation, there will be a sample Mach4 profile on your system that are pre-configured to use the PMDX-SmartBOB-USB (PMDX-410/411/422). The profile is named "PMDX-Sample". The profile for the PMDX-424 is named "PMDX-424-Sample".

The PMDX-410/411/422 sample profile has the following configuration:

The PMDX-424 sample profile has the following configuration:

There are two ways to run these profiles:

!! IMPORTANT !! We strongly suggest that you NOT make changes to the sample profile, since it may be overwritten in future plug-in updates. Instead, make a copy of the profile, like this:

If you want to change the PMDX-Sample shortcut on your desktop to run your new profile name:

 


(13) Previous Plug-In Versions


Version 0.45.217 (9 Aug 2016)

(2.1) M6 Tool Change Macro Notes:

The M6 macros provided in our sample profiles in PMDX SmartBOB plug-in versions 0.43.213 and earlier DO NOT WORK due to a file name corruption. Plug-in release 0.44.214 and later releases (including this release) fixes this file name problem if you are installing the sample profiles for the first time. It WILL NOT fix any existing sample profiles, nor will it fix any profiles that you have copied from the sample profiles.

The issue has to do with upper case vs. lower case "M" the "M6" part of the file name. In order for the macros to be called by Mach4, the case of the file name must match the case of the function name. If the file name is "m6.mcs" then the function name inside the file must be "m6()". Likewise, if the file name is "M6.mcs" then the function name must be "M6()". The sample M6 macros that we provide use upper case in the function name, but the file name got changed to lower case.

This problem does not affect the upper or lower case used to call the "M6" macro from your GCode files or MDI commands. You may still use either upper or lower case (i.e. "M6" or "m6").

There are two ways to fix this in your existing profiles:

  1. EXIT MACH4! In the "YourProfileName/Macros" directory, rename the "m6.mcs" file to "M6.mcs" (i.e. using upper case "M" as the first character of the file name). Then you must also delete the "m6.mcc" file to force Mach4 to re-compile the M6 macro.
  2. Or... EXIT MACH4! Edit the "m6.mcs" file in the "YourProfileName/Macros" directory and change the function name from "M6()" to "m6()" (i.e. now using a lower case "m"). You will need to do this in two places. The first is at the top of the file where the line reads "function M6()". The second place is near the end of the file where there are 3 lines that tell the debugger to call this function.

(2.2) Screen Set Note:

If you are using the older "wxMach" screen set and have NOT made any modifications to it, we strongly urge you to update your profiles to use the newer "wx4" screen set. The "wxMach" screen set is no longer under active development, and does not include any of the probing support that is in the newer "wx4" screen set. Furthermore, the "wx4" screen set is being actively improved and enhanced.

How do I know which screen set I an using? The "wx4" screen set has "Probing" and "Offsets" tabs along the top of the Mach4 window, next to the "Program Run", "Tool Path" and "Machine Diagnostics" tabs. It also shows you the screen set name in the lower right corner of the Mach4 window, at least in the wx4 screen set as installed with Mach4 build 2914. This might change in future releases or if someone has edited the screen set. The "wxMach" does not have the "Probing" or "Offsets" tabs, and does not show the screen set name.

Changing the Screen Set: To change the screen set:

  1. start Mach4 and load your profile
  2. Go to the "View" menu and select "Load Screen"
  3. When the "Select Screen File" dialog appears, change into the "Screens" folder if it is not already there.
  4. Select/highlight the "wx4.set" file and click on "Open"

(2.3) New features since Version 0.44.214:

(2.4) Bug Fixes Since Version 0.44.214:

(2.5) Known Issues:

Version 0.44.214 (12 Jul 2016)

(2.1) M6 Tool Change Macro Notes:

The M6 macros provided in our sample profiles in previous vesions of the PMDX SmartBOB plug-in DO NOT WORK due to a file name corruption. This release fixes this file name problem if you are installing the sample profiles for the first time. It WILL NOT fix any existing sample profiles, nor will it fix any profiles that you have copied from the sample profiles.

The issue has to do with upper case vs. lower case "M" the "M6" part of the file name. In order for the macros to be called by Mach4, the case of the file name must match the case of the function name. If the file name is "m6.mcs" then the function name inside the file must be "m6()". Likewise, if the file name is "M6.mcs" then the function name must be "M6()". The sample M6 macros that we provide use upper case in the function name, but the file name got changed to lower case.

This problem does not affect the upper or lower case used to call the "M6" macro from your GCode files or MDI commands. You may still use either upper or lower case (i.e. "M6" or "m6").

There are two ways to fix this in your existing profiles:

  1. EXIT MACH4! In the "YourProfileName/Macros" directory, rename the "m6.mcs" file to "M6.mcs" (i.e. using upper case "M" as the first character of the file name). Then you must also delete the "m6.mcc" file to force Mach4 to re-compile the M6 macro.
  2. Or... EXIT MACH4! Edit the "m6.mcs" file in the "YourProfileName/Macros" directory and change the function name from "M6()" to "m6()" (i.e. now using a lower case "m"). You will need to do this in two places. The first is at the top of the file where the line reads "function M6()". The second place is near the end of the file where there are 3 lines that tell the debugger to call this function.

(2.2) Screen Set Note:

If you are using the older "wxMach" screen set and have NOT made any modifications to it, we strongly urge you to update your profiles to use the newer "wx4" screen set. The "wxMach" screen set is no longer under active development, and does not include any of the probing support that is in the newer "wx4" screen set. Furthermore, the "wx4" screen set is being actively improved and enhanced.

How do I know which screen set I an using? The "wx4" screen set has "Probing" and "Offsets" tabs along the top of the Mach4 window, next to the "Program Run", "Tool Path" and "Machine Diagnostics" tabs. It also shows you the screen set name in the lower right corner of the Mach4 window, at least in the wx4 screen set as installed with Mach4 build 2914. This might change in future releases or if someone has edited the screen set. The "wxMach" does not have the "Probing" or "Offsets" tabs, and does not show the screen set name.

Changing the Screen Set: To change the screen set:

  1. start Mach4 and load your profile
  2. Go to the "View" menu and select "Load Screen"
  3. When the "Select Screen File" dialog appears, change into the "Screens" folder if it is not already there.
  4. Select/highlight the "wx4.set" file and click on "Open"

(2.3) New features since Version 0.43.213:

(2.4) Bug Fixes Since Version 0.43.213:

(2.5) Known Issues:

Version 0.43.213 (1 Jul 2016)

(2.1) Screen Set Note:

If you are using the older "wxMach" screen set and have NOT made any modifications to it, we strongly urge you to update your profiles to use the newer "wx4" screen set. The "wxMach" screen set is no longer under active development, and does not include any of the probing support that is in the newer "wx4" screen set. Furthermore, the "wx4" screen set is being actively improved and enhanced.

How do I know which screen set I an using? The "wx4" screen set has "Probing" and "Offsets" tabs along the top of the Mach4 window, next to the "Program Run", "Tool Path" and "Machine Diagnostics" tabs. It also shows you the screen set name in the lower right corner of the Mach4 window, at least in the wx4 screen set as installed with Mach4 build 2914. This might change in future releases or if someone has edited the screen set. The "wxMach" does not have the "Probing" or "Offsets" tabs, and does not show the screen set name.

Changing the Screen Set: To change the screen set:

  1. start Mach4 and load your profile
  2. Go to the "View" menu and select "Load Screen"
  3. When the "Select Screen File" dialog appears, change into the "Screens" folder if it is not already there.
  4. Select/highlight the "wx4.set" file and click on "Open"

(2.2) New features since Version 0.41.205:

(2.3) Bug Fixes Since Version 0.41.205:

(2.4) Known Issues:

Version 0.41.205 (26 May 2016)

(2.1) Screen Set Note:

If you are using the older "wxMach" screen set and have NOT made any modifications to it, we strongly urge you to update your profiles to use the newer "wx4" screen set. The "wxMach" screen set is no longer under active development, and does not include any of the probing support that is in the newer "wx4" screen set. Furthermore, the "wx4" screen set is being actively improved and enhanced.

How do I know which screen set I an using? The "wx4" screen set has "Probing" and "Offsets" tabs along the top of the Mach4 window, next to the "Program Run", "Tool Path" and "Machine Diagnostics" tabs. It also shows you the screen set name in the lower right corner of the Mach4 window, at least in the wx4 screen set as installed with Mach4 build 2914. This might change in future releases or if someone has edited the screen set. The "wxMach" does not have the "Probing" or "Offsets" tabs, and does not show the screen set name.

Changing the Screen Set: To change the screen set:

  1. start Mach4 and load your profile
  2. Go to the "View" menu and select "Load Screen"
  3. When the "Select Screen File" dialog appears, change into the "Screens" folder if it is not already there.
  4. Select/highlight the "wx4.set" file and click on "Open"

(2.2) New features since Version 0.38.188:

(2.3) Bug Fixes Since Version 0.38.188:

(2.4) Known Issues:

Version 0.38.188 (6 Apr 2016)

New features since Version 0.36.171:

Bug Fixes Since Version 0.36.171:

Known Issues:

Version 0.36.171 (28 Jan 2016)

New features since Version 0.33.159:

Bug Fixes Since Version 0.33.159:

Known Issues:

Version 0.33.159 (6 Nov 2015)

New features since Version 0.31.147:

Bug Fixes Since Version 0.31.147:

Known Issues:

Version 0.31.147 (18 Sep 2015)

New features since Version 0.30.136:

Bug Fixes Since Version 0.30.136:

Known Issues:

Version 0.30.136 (1 Aug 2015)

New features since Version 0.29.128:

Bug Fixes Since Version 0.29.128:

Known Issues:

Version 0.29.128 (16 Jul 2015)

New features since Version 0.26.117:

Bug Fixes Since Version 0.26.117:

Known Issues:

Version 0.26.117 (29 May 2015)

New features since Version 0.25.111:

Bug Fixes Since Version 0.25.111:

Known Issues:

Version 0.25.111 (3 Apr 2015)

New features since Version 0.23.107:

Bug Fixes Since Version 0.23.107:

Known Issues:

Version 0.23.107 (3 Apr 2015)

New features since Version 0.22.106:

Bug Fixes Since Version 0.19.100:

Known Issues:

Version 0.22.106 (2 Apr 2015)

New features since Version 0.19.100:

Bug Fixes Since Version 0.19.100:

Known Issues:

Version 0.19.100 (24 Mar 2015)

New features since Version 0.18.97:

Bug Fixes Since Version 0.18.97:

Known Issues:

Version 0.18.97 (16 Mar 2015)

New features since Version 0.17.86:

Bug Fixes Since Version 0.17.86:

Known Issues:

Version 0.17.86 (11 Feb 2015):

New features since Version 0.16.82:

Bug Fixes Since Version 0.16.82:

Known Issues:



Version 0.16.82 (26 Jan 2015)

New features since Version 0.15.77:

Bug Fixes Since Version 0.15.77:

Known Issues:



Version 0.15.77 (12 Jan 2015):

New features since Version 0.14.72:

Bug Fixes Since Version 0.14.72:

Known Issues:

**WARNING**

If your profile contains macros for M3, M4 or M5 (like are installed by the Mach4Hobby installer), you MUST delete these files in order for the PWM spindle speed control to function. The macros as provided with some Mach4Hobby installations DO NOT WORK, and they are not needed for the PMDX-SmartBOB-USB to function.

NOTE that if you installed the PMDX sample profile from previous plug-in releases, that profile may contain these macro files. You will need to manually delete them. EVEN IF YOU TOLD THIS INSTALLER TO INSTALL THE SAMPLE PROFILE! The installer does NOT overwrite an existing copy of the sample profile.

These macros are in the Profiles\YourProfileName\Macros directory. You should see two files for each M-code. For example, "M3.mcc" and "M3.mcs". You must remove both of these files for each M-code, either by deleting them or by moving them to another directory.

If you have created custom versions of the M3, M4 or M5 macros, or have Lua code that affects that functionality, you will need to test them with the PMDX-SmartBOB-USB plug-in to see if the plug-in still works.



Version 0.14.72 (16 Dec 2014):

New features since Version 0.12.53:

Bug Fixes Since Version 0.12.53:

Known Issues:

**WARNING**

If your profile contains macros for M3, M4 or M5 (like are installed by the Mach4Hobby installer), you MUST delete these files in order for the PWM spindle speed control to function. The macros as provided with some Mach4Hobby installations DO NOT WORK, and they are not needed for the PMDX-SmartBOB-USB to function.

NOTE that if you installed the PMDX sample profile from previous plug-in releases, that profile may contain these macro files. You will need to manually delete them. EVEN IF YOU TOLD THIS INSTALLER TO INSTALL THE SAMPLE PROFILE! The installer does NOT overwrite an existing copy of the sample profile.

These macros are in the Profiles\YourProfileName\Macros directory. You should see two files for each M-code. For example, "M3.mcc" and "M3.mcs". You must remove both of these files for each M-code, either by deleting them or by moving them to another directory.

If you have created custom versions of the M3, M4 or M5 macros, or have Lua code that affects that functionality, you will need to test them with the PMDX-SmartBOB-USB plug-in to see if the plug-in still works.


That's All Folks!