- Posts: 17524
- Thank you received: 0
2.7.15
6 years 8 months ago #158737
by andypugh
The HAL shown earlier had a signal connected to pid.N.command-deriv, but there was no driver for that signal.
While command-deriv was broken and ignored, that didn't matter, but I don't think it was correct.
It's curious that the command-vel output from motion (which I think is the correct signal to drive command-deriv) lives in the "debugging pins, might be removed" section.
cmorley wrote: They were not faulty when Pncconf built them originally.
The HAL shown earlier had a signal connected to pid.N.command-deriv, but there was no driver for that signal.
While command-deriv was broken and ignored, that didn't matter, but I don't think it was correct.
It's curious that the command-vel output from motion (which I think is the correct signal to drive command-deriv) lives in the "debugging pins, might be removed" section.
Please Log in to join the conversation.
6 years 8 months ago #158764
by cmorley
Yes that was a bad choice for the PID component. but when pncconf originally was built that was fine - in fact there are lots of pins that pncconf adds signals to but not driving pins. It does so so that added HAL code files could be more consistent.
Breaking a system because you added a signal to a pin is not user friendly.
Breaking a system because you added a signal to a pin is not user friendly.
Please Log in to join the conversation.
6 years 8 months ago #158779
by PCW
The problem was that the PID component had a bug (it ignored the command-deriv pin)
The fix implemented simply made the PID component match its long standing manual page description, that is, make the PID component calculate the command derivative internally if the command-deriv pin was unconnected but use the command-deriv pin value if connected.
This matches the feedback-deriv pin behaviour, and any other fix (mode pins etc) would likely have much broader impact.
The fix implemented simply made the PID component match its long standing manual page description, that is, make the PID component calculate the command derivative internally if the command-deriv pin was unconnected but use the command-deriv pin value if connected.
This matches the feedback-deriv pin behaviour, and any other fix (mode pins etc) would likely have much broader impact.
Please Log in to join the conversation.
6 years 8 months ago #158782
by cmorley
yes but breaking peoples systems on a released version is not helpful.
Especially since it's very difficult to find the problem, if you don't know about the special behavior.
Adding the fix to master would have been ok (Though I still disagree with the black magic)
I realize nobody did this on purpose - but telling people that adding a signal to a pin that is not connected to another driving pin is incorrect - is wrong - other then for the PID component.
Chris
Especially since it's very difficult to find the problem, if you don't know about the special behavior.
Adding the fix to master would have been ok (Though I still disagree with the black magic)
I realize nobody did this on purpose - but telling people that adding a signal to a pin that is not connected to another driving pin is incorrect - is wrong - other then for the PID component.
Chris
Please Log in to join the conversation.
6 years 8 months ago #158785
by PCW
I agree that this should have been left in 2.8 and later.
I do think that making command-deriv match the manual page and
feedback-deriv behaviour has the least impact on existing hal files
while fixing a even more mystifying bug (command-deriv having no effect)
I do think that making command-deriv match the manual page and
feedback-deriv behaviour has the least impact on existing hal files
while fixing a even more mystifying bug (command-deriv having no effect)
Please Log in to join the conversation.
6 years 7 months ago #159173
by jazial
Hello,
some time today to try to update the machine
I've added :
# --- added for 2.7.15
net x-vel-cmd <= axis.0.joint−vel−cmd
but halfile is not interpreted after this line (all signals after this one are ignored)
In Hal viewer, net x-vel-cmd is only connected to pid.x.command-deriv
some time today to try to update the machine
I've added :
# --- added for 2.7.15
net x-vel-cmd <= axis.0.joint−vel−cmd
but halfile is not interpreted after this line (all signals after this one are ignored)
In Hal viewer, net x-vel-cmd is only connected to pid.x.command-deriv
Please Log in to join the conversation.
6 years 7 months ago #159186
by jazial
Here is the error
what I don't understand is the line
is working, so the axis.0.xxx pins are available
Code:
twopass: Error in file ./my_LinuxCNC_machine.hal:
Pin 'axis.0.joint−vel−cmd' does not exist
what I don't understand is the line
Code:
net x-pos-fb => axis.0.motor-pos-fb
Please Log in to join the conversation.
Time to create page: 0.148 seconds
