Spindle.0.at-speed False not inhibiting motion

More
11 Feb 2024 01:29 - 11 Feb 2024 01:36 #293050 by davew
I'm commissioning a retrofitted Deckel FP4NC mill running 2.9.1 and am stuck trying to figure out why axis motion is not being inhibited during a speed change running in auto mode using a hand coded G code file - a warmup routine exercising each axis and stepping up in speed with each cycle of motion. On each change in speed, axis motion continues while the spindle motor stops, the mill changes gear and restarts the motor. The spindle.0.at-speed pin seems to change state as you'd expect going False on the change in speed command and only going True when the spindle is up to speed. The axis moves are G1 moves.

The spindle motor is powered via a VFD and the mill has a gearbox controlled by a non-real-time user component. When the speed demand changes, the user component stops the motor, shifts gear to the appropriate gear, sets the motor speed setpoint via the VFD and starts the motor. There is speed feedback from the motor VFD.

The spindle.0.at-speed pin is set in the HAL file so that it isn't subject to time delays in the user component. There are  a few steps in calculating the spindle.0.speed-in pin in the HAL file. The input voltage goes through a low pass filter, a scale component to convert from motor feedback voltage to revs per second, and another scale component using the gear ratio to get to spindle speed in revs per second.

I've attached a diagram of the HAL file along with the actual HAL file, and some screen shots from HALscope, and the Gcode file. There seems to be about a 2ms delay between the change in speed command and the spindle at speed pin going False.

Any suggestions for what to try next? Thanks!

 
Last edit: 11 Feb 2024 01:36 by davew. Reason: screen shots not displaying in-line?

Please Log in or Create an account to join the conversation.

More
11 Feb 2024 03:42 #293053 by cmorley
What does this do - it mntions the at speed pin?

loadusr -W mqtt-publisher --mqtt-broker=[MQTT]BROKER \
--mqtt-user=[MQTT]USERNAME --mqtt-password=[MQTT]PASSWORD \
keys=iocontrol.0.emc-enable-in,\
halui.machine.is-on,\
halui.mode.is-auto,\
halui.mode.is-manual,\
halui.mode.is-mdi,\
spindle.0.speed-in,\
spindle.0.at-speed,\
spindle.0.override.value,\
motion.feed-mm-per-minute,\
motion.feed-inhibit,\
halui.feed-override.value

Please Log in or Create an account to join the conversation.

More
11 Feb 2024 04:26 - 11 Feb 2024 05:39 #293058 by davew
It publishes a set of pins once per ten seconds over wifi to another PC running a mosquitto MQTT broker and feeding a monitoring dashboard  - just an experiment in getting some IoT style communication of machine status. 
Last edit: 11 Feb 2024 05:39 by davew. Reason: correct rate

Please Log in or Create an account to join the conversation.

Time to create page: 0.097 seconds
Powered by Kunena Forum