Hello Guest it is March 29, 2024, 03:57:20 AM

Author Topic: SmoothStepper Modbus RPM DRO conflict  (Read 14464 times)

0 Members and 1 Guest are viewing this topic.

Re: SmoothStepper Modbus RPM DRO conflict
« Reply #10 on: December 15, 2010, 11:13:05 PM »
Greg,

If the spindle is assigned to port 0, Mach3 doesn't automatically issue a Modbus command. The user needs to set up the Modbus configuration to get the Modbus command sent to the Modbus device. The user then needs to write a brain to store the returned value into the TrueSpindleRPM variable.

If someone wants to do threading, then yes, a index sensor into the SS is required and it can not go through Modbus due to the latencies in the Modbus protocol.

So, if the user needs to do threading, they need an index sensor to be fed into the SS, and the SS will also be able to calculate the spindle speed.

Therefore there should never be a legitimate reason to want to get the spindle speed via Modbus and at the same time use a spindle sensor into the SS (or parallel port)  for threading.

Cheers,

Peter.
----------------------------------------------------
Homann Designs
http://www.homanndesigns.com
email: peter at homanndesigns.com
Re: SmoothStepper Modbus RPM DRO conflict
« Reply #11 on: December 17, 2010, 12:28:42 PM »
My temporary work around until this bug is fixed was to rename the RPM DRO to a user DRO.  This does not work on some G code I run because the program will stop at any spindle speed changes because there is no speed read back.

I think this bug has a easy fix.  Below are my ideas.

If the spindle is enabled on port 0 then assume a Modbus spindle is in use.  Step and Direction both are port 0.  Step Pin# and Direction Pin# can be 0 or any number.

If Modbus Spindle AND Index not Enabled Then do not process RPM functions (don't interrupt any data sent to DRO OEM Code 39)

If Modbus Spindle AND Index Enabled And port = 1 Or 2 Then process RPM functions as normal.  (Threading setting).

If Modbus Spindle AND Index Enabled AND Index port = 0 Then do not process RPM functions (don't interrupt any data sent to DRO OEM Code 39)

Or you could make it simpler and add the following functions to the SmoothStepper Plugin config page Spindle frame:
Check box for Modbus spindle.
Check box for using Modbus RPM read back or ignore Index (don't interrupt any data sent to DRO OEM Code 39)

How soon can you fix this bug?
Re: SmoothStepper Modbus RPM DRO conflict
« Reply #12 on: January 10, 2011, 11:34:40 PM »
Thank you Peter and Peter.  Sorry this took a while.  I think it is really simpler than what you describe.  I think the only thing that matters is whether or not the Index is enabled, and whether it is on a SmoothStepper port or not.  If it isn't enabled on a SmoothStepper input, there isn't much I can do about it.  Thank you for outlining your thoughts so nicely like you did.  Please let me know if you think I overlooked something.  If the user does not use the Step/Dir or PWM outputs for the spindle, they still might have the Index defined so that they can measure spindle RPM.

I have compiled a new plugin that includes this option.  Here is the direct download link:

http://warp9td.com/files/SmoothStepper_v17a.zip

Thanks,
Greg
Re: SmoothStepper Modbus RPM DRO conflict
« Reply #13 on: January 10, 2011, 11:55:23 PM »
One minor point.  The Index can be on port 1, 2, or 3.

Greg
Re: SmoothStepper Modbus RPM DRO conflict
« Reply #14 on: January 11, 2011, 12:27:36 AM »
Greg,

  There is a problem with the download file location as I am getting the following error:


404 Not Found

The requested URL (/files/SmoothStepper_v17a.zip) was not found on this server.
Re: SmoothStepper Modbus RPM DRO conflict
« Reply #15 on: January 11, 2011, 02:10:15 AM »
I'm sorry Peter.  Should be OK now.

Greg

Offline Jeff_Birt

*
  •  1,107 1,107
    • View Profile
    • Soigeneris
Re: SmoothStepper Modbus RPM DRO conflict
« Reply #16 on: January 11, 2011, 08:59:40 AM »
Quote
I think it is really simpler than what you describe.  I think the only thing that matters is whether or not the Index is enabled, and whether it is on a SmoothStepper port or not.  If it isn't enabled on a SmoothStepper input, there isn't much I can do about it.


Allow me to expand on this thought a bit as I think it is an important point. If you are threading or doing any other movements that are synchronized to the spindle speed than the index signal MUST go through the SmoothStepper. Since the SmoothStepper is the motion controller it has to synchronize the step pulses with the index pulse, the only way that will work is if the SS receives the index pulse directly.
Happy machining , Jeff Birt
 
Re: SmoothStepper Modbus RPM DRO conflict
« Reply #17 on: January 11, 2011, 06:00:36 PM »
Allow me to expand on this thought a bit as I think it is an important point. If you are threading or doing any other movements that are synchronized to the spindle speed than the index signal MUST go through the SmoothStepper. Since the SmoothStepper is the motion controller it has to synchronize the step pulses with the index pulse, the only way that will work is if the SS receives the index pulse directly.

Yes, this is correct if you are wanting to thread, but this is not the case here, there is no index sensor involved.

The VFD provides the spindle speed via modbus, which is far more convenient that adding a spindle index sensor and feeding it into the Smooth Stepper. The Smooth Stepper plugin should know that no index sensor has been configured and therefore not write to the spindle RPM variable.

I presume that this is now what the fixed plugin is doing.

Cheers,

Peter
----------------------------------------------------
Homann Designs
http://www.homanndesigns.com
email: peter at homanndesigns.com

Offline Jeff_Birt

*
  •  1,107 1,107
    • View Profile
    • Soigeneris
Re: SmoothStepper Modbus RPM DRO conflict
« Reply #18 on: January 11, 2011, 07:02:23 PM »
Peter:
Quote
Yes, this is correct if you are wanting to thread,

I think that is exactly what I said, let me reread it...

Me:
Quote
If you are threading or doing any other movements that are synchronized to the spindle speed than the index signal MUST go through the SmoothStepper.


Yep that is exacly what I said...
Happy machining , Jeff Birt
 
Re: SmoothStepper Modbus RPM DRO conflict
« Reply #19 on: January 11, 2011, 07:19:10 PM »
Hi Peter,

Jeff was just "expanding on this thought" and pointing out that if you want to thread, the Index must go through the SmoothStepper.  He wasn't trying to contradict anything, just pointing out an important fact.

Quote
The Smooth Stepper plugin should know that no index sensor has been configured and therefore not write to the spindle RPM variable.

Your statement is similar in nature, because it represents one aspect of the complete logic.  It is true that the SmoothStepper should not write to the spindle RPM variable if the Index is not enabled.  But in addition, if the assigned port is not a SmoothStepper port, then that is another case where the SmoothStepper should not update the spindle RPM variable.  I think those are the only two cases where the SmoothStepper should not update the spindle RPM variable.  If anyone knows of any others, please let me know.

Thanks,

Greg