Orient component revised
15 Apr 2020 11:07 #164051
by alkabal
1 : i think like you spindle=1 with S=0 and orient enable=1 is more clear
2 : i don't really know for other stuff but in my opinion if S=0 and orient=0 spindle-is-on need to be false
3 : ask M3/M4 S>0 when orient is enable = canceling orient and start spindle, the inverse is also ok so i think all is ok regarding to this. (not tested with M3/M4 S0)
Replied by alkabal on topic Orient component
I think we should require that spindle be on to orient.
I don't think we should require the spindle to be spinning to have the spindle on.
I don't think we should require that the spindle be already spinning to orient.
1 : i think like you spindle=1 with S=0 and orient enable=1 is more clear
2 : i don't really know for other stuff but in my opinion if S=0 and orient=0 spindle-is-on need to be false
3 : ask M3/M4 S>0 when orient is enable = canceling orient and start spindle, the inverse is also ok so i think all is ok regarding to this. (not tested with M3/M4 S0)
Please Log in or Create an account to join the conversation.
15 Apr 2020 16:00 #164064
by cmorley
Replied by cmorley on topic Orient component
1)
I didn't say anything about the spindle number so I don't understand.
2)
Why do you think S=0 should automatically call a M5?
in my mind S sets the speed (speed includes 0)
M3/4/5 sets the state
3)
That seems fine.and I think already the default
I didn't say anything about the spindle number so I don't understand.
2)
Why do you think S=0 should automatically call a M5?
in my mind S sets the speed (speed includes 0)
M3/4/5 sets the state
3)
That seems fine.and I think already the default
Please Log in or Create an account to join the conversation.
15 Apr 2020 16:57 - 15 Apr 2020 17:23 #164066
by alkabal
Replied by alkabal on topic Orient component
1 sorry my message is not clear, i speak about S=0rpm and orient is enable i think strange to not see spindle.x.on=true (not speak about multi spindle).
2 yes i think with setting 0rpm and orient disabled imo is better to stop spindle completely.
i'm not an expert, maybee this is needed for some servo/stepper spindle but in this way i think this need to be the same with orient. (and allow to have a more easy hal config for orient)
3 yes it is
For orient i need to pass through the enable signal for spindle controler
If ask M19 allow to ask spindle.0.on this not be needed anymore, but removing input/output from component lock the possibility to force enable from jog mode so these change nothing.
2 yes i think with setting 0rpm and orient disabled imo is better to stop spindle completely.
i'm not an expert, maybee this is needed for some servo/stepper spindle but in this way i think this need to be the same with orient. (and allow to have a more easy hal config for orient)
3 yes it is
For orient i need to pass through the enable signal for spindle controler
If ask M19 allow to ask spindle.0.on this not be needed anymore, but removing input/output from component lock the possibility to force enable from jog mode so these change nothing.
pin in bit enable_from_jog "enable angular output for orientation mode from pendant mpg jog";
pin out bit ena_out_muxed "enable muxed from orient or velocity or jog";
pin out bit ena_to_pid_orient "enable for Orient PID need to be separated from drive enable";
pin in bit ena_from_velocity "enable from velocity mode";
Last edit: 15 Apr 2020 17:23 by alkabal.
Please Log in or Create an account to join the conversation.
15 Apr 2020 17:20 #164067
by cmorley
Well I don't disagree. setting S to 0 should set the spindle to stop turning, but it shouldn't require m3/m4 to start it again, you should be able to set S to a positive number and it should turn. It's a subtle difference but useful and consistent ideology.
Replied by cmorley on topic Orient component
1
2 yes i think with setting 0rpm and orient disabled imo is better to stop spindle completely.
i'm not an expert, maybee this is needed for some servo/stepper spindle but in this way i think this need to be the same with orient.
Well I don't disagree. setting S to 0 should set the spindle to stop turning, but it shouldn't require m3/m4 to start it again, you should be able to set S to a positive number and it should turn. It's a subtle difference but useful and consistent ideology.
Please Log in or Create an account to join the conversation.
15 Apr 2020 18:52 #164072
by cmorley
Replied by cmorley on topic Orient component
using the new multispindle frame work i added an indexer to my mill.
I use the second spindle commands to operate at. the S command specifies the position in degrees. it works fine but if you specify S0 then the indexer is tuned off rather then move to 0 degrees. it also requires M3 to start again.
While I realize this is extending the spindle to unintended use - it works very well and is easy to add to a config. My discussion about S0 really comes down to it allows one to do more with linuxcnc and does not affect any standard gcode program out there. I don;t think it is usual for people to actually set S to 0, one would use M5
I'll have to look at your code and see if I could use it on my indexer. ultimately i would like to be able to select spindle mode and indexer mode.
Chris
I use the second spindle commands to operate at. the S command specifies the position in degrees. it works fine but if you specify S0 then the indexer is tuned off rather then move to 0 degrees. it also requires M3 to start again.
While I realize this is extending the spindle to unintended use - it works very well and is easy to add to a config. My discussion about S0 really comes down to it allows one to do more with linuxcnc and does not affect any standard gcode program out there. I don;t think it is usual for people to actually set S to 0, one would use M5
I'll have to look at your code and see if I could use it on my indexer. ultimately i would like to be able to select spindle mode and indexer mode.
Chris
Please Log in or Create an account to join the conversation.
15 Apr 2020 19:55 - 16 Apr 2020 01:54 #164080
by alkabal
Replied by alkabal on topic Orient component
Yes off course ii think like you : nobody use S0 for stop spindle.
I hope my code can work for your setup but i think need more work. you can use HAL exemple inside comp (need to add the pid setting)
Attached Orient pid pyvcp panel + last revision
I have do the test with 2.9
Start spindle from GUI or from M3/M4
set S0 (spindle stop moving, hal signal = false but Axis gui button stay pushed...)
Set S100 does not restart spindle, need to push GUI button again.
Well i think this is not really logic mostly regarding the GUI status.
Edited for last revsion
I hope my code can work for your setup but i think need more work. you can use HAL exemple inside comp (need to add the pid setting)
Attached Orient pid pyvcp panel + last revision
I have do the test with 2.9
Start spindle from GUI or from M3/M4
set S0 (spindle stop moving, hal signal = false but Axis gui button stay pushed...)
Set S100 does not restart spindle, need to push GUI button again.
Well i think this is not really logic mostly regarding the GUI status.
Edited for last revsion
Last edit: 16 Apr 2020 01:54 by alkabal.
Please Log in or Create an account to join the conversation.
16 Apr 2020 01:54 #164101
by alkabal
Replied by alkabal on topic Orient component
now i understand why you want spindle on with S0, but it is better to have your setup or use a orient component ?
can i ask more about what you have do in your config ?
can i ask more about what you have do in your config ?
Please Log in or Create an account to join the conversation.
16 Apr 2020 15:48 #164161
by giz
Replied by giz on topic Orient component
I don't have anything to contribute, but I'm trying to follow this conversation. I've had a horrible time trying to program a working Orient on my machine.
Please Log in or Create an account to join the conversation.
16 Apr 2020 17:18 #164168
by cmorley
So My indexer is not going to work with you rorient component because it's stepper based.
My main spindle is a servo motor, but currently can only run i one direction.
I haven't had a chance to set up rour orient on my main spindle yet.
I did find where linuxcnc sets M5 when S=0, so i want to test that change too.
Chris
Replied by cmorley on topic Orient component
now i understand why you want spindle on with S0, but it is better to have your setup or use a orient component ?
can i ask more about what you have do in your config ?
So My indexer is not going to work with you rorient component because it's stepper based.
My main spindle is a servo motor, but currently can only run i one direction.
I haven't had a chance to set up rour orient on my main spindle yet.
I did find where linuxcnc sets M5 when S=0, so i want to test that change too.
Chris
Please Log in or Create an account to join the conversation.
16 Apr 2020 17:43 - 16 Apr 2020 17:43 #164171
by alkabal
Hi i have see your topic some time ago when i try to setup original orient.comp but imo this component is really hard to setup correctly .
I like if you can check about this work in progress new comp i have do the most possible for allow easy setup.
copy past hal exemple from comp
add pid settings
remove 2 hal link from spindle setup and past to orient hal maybee adapt net link name for match your spindle net link name for this 2 link
first change :
#net spindle-enable => [HMOT](CARD0).7i83.0.0.analogena0 # moved in the orient input output
net spindle-enable => orient.orient-spindle.ena-from-velocity
net spindle-orient-enable-out => [HMOT](CARD0).7i83.0.0.analogena0 # moved in the orient input/output but initially in spindle setup
second change :
#net spindle-vel-cmd-out => [HMOT](CARD0).7i83.0.0.analogout0 # moved in the orient input output
net spindle-vel-cmd-out => orient.orient-spindle.cmd-from-pid-velocity
net spindle-orient-ctrl-out => [HMOT](CARD0).7i83.0.0.analogout0 # moved in the orient input/output but initially in spindle setup
Replied by alkabal on topic Orient component
Saad but this yes this component is do for regular motor.So My indexer is not going to work with you rorient component because it's stepper based.
My main spindle is a servo motor, but currently can only run i one direction.
I haven't had a chance to set up rour orient on my main spindle yet.
Chris
I don't have anything to contribute, but I'm trying to follow this conversation. I've had a horrible time trying to program a working Orient on my machine.
Hi i have see your topic some time ago when i try to setup original orient.comp but imo this component is really hard to setup correctly .
I like if you can check about this work in progress new comp i have do the most possible for allow easy setup.
copy past hal exemple from comp
add pid settings
remove 2 hal link from spindle setup and past to orient hal maybee adapt net link name for match your spindle net link name for this 2 link
first change :
#net spindle-enable => [HMOT](CARD0).7i83.0.0.analogena0 # moved in the orient input output
net spindle-enable => orient.orient-spindle.ena-from-velocity
net spindle-orient-enable-out => [HMOT](CARD0).7i83.0.0.analogena0 # moved in the orient input/output but initially in spindle setup
second change :
#net spindle-vel-cmd-out => [HMOT](CARD0).7i83.0.0.analogout0 # moved in the orient input output
net spindle-vel-cmd-out => orient.orient-spindle.cmd-from-pid-velocity
net spindle-orient-ctrl-out => [HMOT](CARD0).7i83.0.0.analogout0 # moved in the orient input/output but initially in spindle setup
Last edit: 16 Apr 2020 17:43 by alkabal.
Please Log in or Create an account to join the conversation.
Time to create page: 0.094 seconds