Thanks all for the answers on this.

Andy, I’ll give your and Jon’s solutions some thought and try one of them.  
Thank you!

Gene, it’s a Bridgeport BOSS 5, which is a factory CNC knee mill heavily based 
on the standard Series 1.  The head is virtually identical to a manual Series 1 
machine except for the motor and quill arrangement.  So all Bridgeports will 
reverse spindle speed on backgear.  I understand the ratio is approximately 
8.3:1, but I haven’t been able to verify that.

Jon, I have two USC boards on the same parallel port.  I think there is a bit 
of a clarity issue in the documentation here:  
http://www.linuxcnc.org/docs/html/drivers/pico-ppmc.html 
<http://www.linuxcnc.org/docs/html/drivers/pico-ppmc.html>.  The loadrt command 
references parallel port addresses.  Then the extradac=0xnn explanation 
indicates that a second board on the same parallel port should be referenced as 
0x02.  Then later, the pins enumerate as ppmc.<port>…. with <port> being the 
parallel port, not the board ID on the bus.  I understood port to refer to the 
ID on the bus, so I assumed the second board would be ppmc.02…. instead of 
ppmc.00… with the channel or pin number enumerating consecutively.  Which 
raises the question of how the inputs and outputs will be enumerated for the 
second board.  Will the second board inputs enumerate as ppmc.00.din.16.in 
through ppmc.din.31.in and the outputs as ppmc.00.dout.08.out through 
ppmc.00.dout.15.out?  I haven’t yet installed the second USC so I haven’t been 
able to test both on the same parallel port bus.

Secondly, I had a few questions about your -1/+1 multiplication for the spindle 
speed.  I just want to confirm that if I command an M3 S-1000 (assuming a plain 
configuration as shown in my current config), the spindle will run in reverse 
without any other input.


> On Dec 12, 2020, at 11:53 AM, Jon Elson <el...@pico-systems.com> wrote:
> 
> On 12/12/2020 08:12 AM, Matthew Herd wrote:
>> Hi All,
>> 
>> I’m sure there’s a simple answer for my question, but I haven’t been able to 
>> figure it out.  Currently the configuration for the spindle forward and 
>> reverse outputs is as follows:
>> 
>> # connect spindle fwd/rev to I/O controller
>> net SpindleFwd <= ppmc.2.dout.00.out
>> net SpindleFwd => spindle.0.forward
>> net SpindleRev <= ppmc.2.dout.01.out
>> net SpindleRev => spindle.0.reverse
> ppmc.2 ???  You have THREE parallel ports with ppmc devices connected?  
> Generally, you set the I/O port address in the line that loads the ppmc 
> driver in the univ<xxx>_load.hal file, and it comes out as
> ppmc.0.xxxxx
>> I would like to selectively reverse direction depending on whether a 
>> backgear input switch is triggered.  I see there is a gearchange component 
>> but I’m not clear on how to utilize it.
> No, don't use gearchange.  Use mux2 to select either -1.0 or +1.0 to a signal 
> depending on the backgear selector.  Then, feed that to mult2 and multiply 
> that by the spindle speed command
> (motion.spindle-speed-out) to feed the spindle-speed signal.  If you already 
> have a mult2 in there with some value to scale the speed of the spindle, then 
> just use the mux2 to select between a positive and a negative of that value.
> 
> I think this is the simplest way to do it, rather than reversing the way TWO 
> different outputs work.
> 
> Jon
> 
> 
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users


_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to