Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Bob at PMDX

Pages: 1 ... 5 6 [7] 8 9 ... 25
91
I downloaded your profile on Friday (thanks).  While I can not yet replicate the issue you are seeing, I do see messages in the debug log file that hint at what it going on.  I'll post back here when I have more information, or want you to run more tests.

Bob

92
Mach3 used different terminology (everything was an "axis").  Mach4 makes the distinction between "motors" and "axes".  To slave the G540 "A" motor to the "X" motor, on your "X" axis the "Axis Mapping" tab should look like the attached image.  And I am presuming that you have the direction reversed for your slave motor *IF* your gantry requires that.

Now on to the jogging issue.  Are you jogging by clicking the mouse on the jog buttons?  If not, how are you initiating the jog motion?  When you press the jog button, the "Cycle Start" button will become grayed out.  When you release the jog button the "Cycle Start" button *should* turn bright green again.  Does it do this when you can no longer jog the X axis?  Can you jog any of the other axes?

I would like you to create a plug-in debug log for me to capture this.  The general instructions are in item (4) here:
    http://www.pmdx.com/PMDX-Forums/index.php?topic=75.0

Enable the debug log as shown, exit Mach4.  Restart Mach4 and try to replicate this issue.  Once the X axis fails to respond, try to jog one of the other axes.  Then disable the log file and create a profile package as described in the FAQ.  You can either upload that to this forum thread or email it to me at bob at this domain.

Bob

94
I notice the fault switch input is not listed as one of the selections in the setup are the fault and E-stop connected together in some way?
Yes, they both control the "EStop" input signal from the device to Mach4.

Quote
Side Note: How to i activate the 5V to the common pins for my driver?  I don't seem to see this in my notes that was sent with my 424 ... if you direct me to were to look i will do so.
Go to our plug-in configuration and click on the "Motor Config" tab.  Near the top right of the window you will see a section labeled "Step/Dir Common".  Note that this section is only visible when you are connected to a PMDX-424.  I give this a brief mention in the table in section 2.9.4 of the quick start guide, but it could be a bit clearer and easier to find.

Bob

95
I was typing the answer below as you entered your second question.  So, the answer is "yes, but..."

My Connection> Switch: NO (mom) closed ... the E-Stop pin is showing it is pulled up to ~4.37V
Oops - I forgot to address this issue.  For a normally open EStop switch, you should keep the jumper that we provide on J14 between the EStop input and GND.  You then should wire your normally-open switch to J14 between the /FAULT and GND terminals.

I would, however, HIGHLY recommend not using a momentary contact switch for the EStop signal.  The idea of an EStop is to keep the machine disable until whatever the problem was has been fixed or cleared.  By having the EStop switch latch, you have a mechanical backup to the hope that nobody comes by and hits the "Enable" button in Mach while you have your hands in the machine.

Also, there is a concern in making sure the EStop signal is asserted long enough to be guaranteed of being reported to Mach4.  With the PMDX-424 this is less of a concern in that the PMDX-424 will latch any active EStop transition until it has been reported to Mach4.  However, there may be situations where that ONE communication packet is lost or corrupted and Mach4 doesn't actually see the EStop.  And with the PMDX-411 there is no latching function in the device.  So if there is a short pulse on the EStop input (as *could* be the case with a momentary contact switch being pressed in a hurry), there is absolutely NO guarantee of that event being passed on to Mach4.

Bob

96
One difference between the PMDX-411 and PMDX-424 is that the PMDX-424 has a dedicated EStop input and the plug-in presents this as an input signal called "EStop".  With the PMDX-411, you probably used "Pin10" or one of the other input pins.  Since the plug-in's real-time display shows the EStop input togging on and off (I presume you were looking at the EStop indicator) , my first guess is that you have the Mach4 "E-Stop" signal mapped to a different input.

Go to the "Configure" menu and select "Mach..".  Then click on the "Input Signals" tab.  Scroll down to the "E-Stop" signal and make sure it is mapped to the SmartBOBUSB "EStop" input, with a red "X" in the "Active Low" column.

Bob

97
I've decided to shorten my originally *very* long answer and make it just "long" by not including all the steps & details involved in editing the screen set.  If you are not familiar with editing the screen set look on the Mach4 Support forums here:

https://www.machsupport.com/forum/index.php?board=94.0

Also look in the "Child" board called "Mach4 Videos".  Specifically, there is one titled "Mach4 Quicky #4 - Where is the Startup Script".

So, lets get to it.  The answer depends on which screen set you are using.

In general, there are 2 basic screen sets: those derived from "wxMach.set" and those derived from "wx4.set".  If you started with our PMDX sample profile from any of our plug-in releases prior to 0.41.205 (released on May 26th), you are using the "wxMach" screen set.  If you started from the "Mach4 Mill" profile, then you are using the "wx4" screen set.

(1) If your profile name is still "PMDX-Sample" or "Mach4Mill", make a copy of the profile and use that copy!  These default profiles may (or WILL) get overwritten when you install a new version of Mach4 or our plug-in.  To copy the profile, open the Mach4 Loader, highlight your profile name and click on the "Copy Profile" button.  Give it a new name, leave the "screen set" name blank to use the same screen set as the original profile, then click on "OK".  Now scroll down in the profile list and select your new profile name.

(2) Choose an input signal that you will connect the Gecko fault signal to.  This *MUST* be an isolated input on the PMDX-424, which appear on screw terminal connectors J16 and J17, and are labeled "1" through "8".  They appear in the Mach4 configuration dialog as "Input1" to "Input8".  For this example I'll use input 1.  Connect the G320's "ERR/RES" signal to the PMDX-424 terminal "1", and connect the G320's "ENC-" to the PMDX-424's "GND" terminal.

(3) In Mach4, go to the "Configure" menu and select "Mach...". Then click on the "Input Signals" tab.  Choose one of the generic input signals "Input #0" to "Input #31" that you will map the PMDX-424 input signal to.  You don't *have* to map the PMDX-424 "Input1" to Mach4 signal "Input 1", but if that helps you remember it, that is fine.  For this example I will use "Input #0". On the "Input #0" line, click the red "X" in the "Mapping Enabled" column, in the "Device" column select "SmartBOBUSB" and then in the "Input Name" column select "Input1".  Finally, in the "Active Low" column, click the red "X" to change it to a green check mark, as the G320 fault output is active low.  Click on "OK" to close the dialog and save the changes.

(4) Edit the screen set (see Mach4 support forums mentioned above).

(5) Create a copy of the screen set: For the same reasons you created a copy of your profile above, create a copy of the screen set that you are about to modify.  Go to the "Screen" menu and select "Save Screen As", then give your screen set a new name.

(6) Open the "Signal Script".  Here is where it gets interesting.  If you see the following code:
Code: [Select]
local inst = mc.mcGetInstance();

if (sig == mc.OSIG_MACHINE_ENABLED) then
    machEnabled = state;
end
then your screen set is based on the wxMach screen set.  Go to setp (7).

If instead  you see this:
Code: [Select]
-------------------------------------------------------
--  Signal Script
-------------------------------------------------------

if SigLib[sig] ~= nil then
    SigLib[sig](state);
end
then your screen set is based on the wx4 screen set. Skip step (7) and go to step (8).

(7) For "wxMach" based screen sets, append the following code in the "Signal Script" that you are viewing:
Code: [Select]
if ( sig == mc.ISIG_INPUT0 ) then
    if (state == 1) then
        local inst = mc.mcGetInstance();
        local hsig;
        local isEnabled;
        hsig = mc.mcSignalGetHandle( inst, mc.OSIG_MACHINE_ENABLED );
        isEnabled = mc.mcSignalGetState( hsig );
        if ( isEnabled == 1 ) then
            mc.mcCntlEnable( inst, 0 );
            mc.mcCntlSetLastError( inst, "Gecko Fault, machine halted" );
        else
            -- Remove the "--" from the following to see messages if Mach4 is already disabled
            -- mc.mcCntlSetLastError( inst, "Ignoring Gecko Fault" );
        end
    end
end
Go to the "File" menu and select "Save", or click on the "save" icon.  Then close the script editor.  Go to step 9.

(8) For "wx4" based screen sets, close the script editor window and then open the "Screen Load Script".  A few lines down you will see code that looks like this:
Code: [Select]
---------------------------------------------------------------
-- Signal Library
---------------------------------------------------------------
SigLib = {
[mc.OSIG_MACHINE_ENABLED] = function (state)
    machEnabled = state;
    scr.SetProperty('btnRefAll', 'Enabled', tostring(state));
    scr.SetProperty('btnRefAll2', 'Enabled', tostring(state));
    scr.SetProperty('btnGotoZero', 'Enabled', tostring(state));
    scr.SetProperty('tabJogging', 'Enabled', tostring(state));
    if (state == 1) then
        AxisEnable();
    end
end,
[mc.ISIG_INPUT0] = function (state)
   
end,
*** LOTS MODE CODE LIKE THIS FOLLOWS ***
Note the last bit of code I quoted above starts with "[mc.ISIG_INPUT0] = ..." and ends with "end,".  Insert the following code between those two lines so it ends up looking like this:
Code: [Select]
[mc.ISIG_INPUT0] = function (state)  -- THIS LINE WAS ALREADY IN THE SCRIPT!!!
    if (state == 1) then
        local hsig;
        local isEnabled;
        hsig = mc.mcSignalGetHandle( inst, mc.OSIG_MACHINE_ENABLED );
        isEnabled = mc.mcSignalGetState( hsig );
        if ( isEnabled == 1 ) then
            mc.mcCntlEnable( inst, 0 );
            mc.mcCntlSetLastError( inst, "Gecko Fault, machine halted" );
        else
            -- Remove the "--" from the following to see messages if Mach4 is already disabled
            -- mc.mcCntlSetLastError( inst, "Ignoring Gecko Fault" );
        end
    end
end,  -- THIS LINE WAS ALREADY IN THE SCRIPT!!!
Save the script and close the script editor.

(9) For good measure, exit Mach4 and re-start it.  You should now be able to enable Mach4, then connect the input on the PMDX-424 to the "GND" terminal on J16 or J17 and have Mach4 disabled and see the message.

Bob

98
Sorry for taking so long to respond.  This is an involved answer that depends on which screen set you are using.  I'll post the full response tomorrow.

99
That is very interesting.  I guess I need to track down a bluetooth mouse with a USB adapter and see what happens here.  Meanwhile, let us know if the problem pops up again.

Bob

100
The Mach4Hobby plugin for the SmartBOB-USB family of controllers has been updated to version 0.41.205, released 26 May 2016.  This plug-in requires Mach4 builds 2872 or higher. It has been tested with builds 28782 and 2914, and should work with later builds when released.

Full details of this release are HERE: http://www.pmdx.com/Downloads_/ReleaseNotes_Ver_0_38_188.html
(including detailed descriptions of new features related to encoders and spindle RPM measurement).

Download the plug-in here:  http://www.pmdx.com/PMDX-SmartBOB-USB-Plug-In

New features since version 0.38.188:
- Requires Mach4 build 2872 or higher

- Supports encoders as MPGs and spindle RPM measurement on PMDX-410/422 (rev B or later) and PMDX-424 (all revisions)

- Added a sample PMDX-424 profile

- PMDX sample profiles now use the wx4 screen set (see the release notes for more information on screen sets)

- Added "Help" buttons on the plug-in configuration tabs for the encoder and spindle configuration

Bug fixes since version 0.38.188:
- Fix bug that caused USB buffer overflows and/or communication timeouts when sending GCode motion to the SmartBOB device.

- Fix bug that under certain conditions caused the direction signal to change too soon after a step pulse (known as a hold time violation), which in turn could cause the motor driver to move the motor in the wrong direction.

- SmartBOB plug-in configuration dialog now stores updated motor direction polarity when running in Mach4 Hobby build 2914 or higher.

- Fixed a bug relating to un-mapping multiple Mach4 input signals mapped to a single PMDX-SmartBOB pin.

Bob
[edited to re-word subject line]

101
I have to ask what kind of position data you want saved?  Both Mach3 and Mach4 will save the current motor positions (as displayed on the DROs) when you exit, and will restore those positions to the DROs when you re-start Mach3/Mach4.

If you want some kind of waypoint data stored during operation, that can also be obtained by having some code (macro or brains in Mach3, or Lua in Mach4) periodically read the DROs and write the data to a file. In Mach3 and Mach4, the DROs are updated from the motion device to reflect the actual position.  That is presuming that none of the motors have stalled.

Bob

102
Those two sets of terminals are for in-house only as Steve explained.  The picture on the website is of the first prototype board.  None of those signals are intended for end-user use.  Connecting any of these signals to wires going to a cabinet wall or external switch could couple noise onto the board and cause unpredictable operation.

If you goal is to have a way to perform a hardware reset of the PMDX-424, the best way is to cycle power to the board.

If the goal is to have some kind of "reset" signal into Mach4, then yes, connect the switch to one of the isolated inputs on the PMDX-424 and write some Lua code to do whatever it is you want done.

Bob

103
OUCH!!! The good news is that this gouge in the board *should* not be in any way related to the error you are seeing.  The bad news - it looks like that may cause the relay to not work, and may even cause "Input 8" to not work (might always be reported as "high").  I wish you had told us about this damage when you received your board.  If you try using the relay or Input 8 and they don't work, you can send the board back to us and we will try to fix the damaged section of the board.

But on to the problem you wrote about...  I would like you to have our plug-in create a debug log again to capture what is happening here.  Follow the same steps as the last time (see my post http://www.pmdx.com/PMDX-Forums/index.php?topic=268.msg1082#msg1082).  Enable the debug log, exit Mach4 then restart and do whatever you were doing to zero the machine (and make sure to tell me exactly what you did).  Disable the debug log and create a profile package and email that to me, or post it here.

Bob


104
Just to close out this thread - see this response in the other thread referenced above:

http://www.pmdx.com/PMDX-Forums/index.php?topic=268.msg1094#msg1094

105
Rats.  It looks like you have a defective board.  Please send it back to us at the address here:
    http://pmdx.com/ContactUs
Write somewhere on the outside of the box "RMA 05231601".  If you send us a tracking number for this, we will ship you a new PMDX-424 so you can get up and running sooner.  Email the tracking number bob at this domain.

P.S. It appears that you do not have the PMDX-424's EStop input mapped to the Mach4 "E-Stop" input signal.  When you get your replacement board, go to the Mach4 "Configure" menu and select "Mach..".  Then click on the "Input Signals" tab and scroll (way) down until you see "E-Stop".  Enable that and map it to the SmartBOBUSB "EStop" input signal, with a red "X" in the "Active Low" column.  Doing this will allow Mach4 to know when the PMDX-424's EStop is active.

Bob

Pages: 1 ... 5 6 [7] 8 9 ... 25