Here are the steps I follow to reproduce the issue:
1. Run LinuxCNC with pid.n.command-deriv connected to a signal
2. check that the PID uses the command-deriv value
3.
This is what I expected to happen:
use the command-deriv pin if that pin is connected
This is what happened instead:
It always uses d/dt of pid.n.command
It worked properly before this:
Just tested master but probably 2.7 and even 2.6 are affected
Information about my hardware and software:
master/uspace/Ethernet
评论 (9)
#2 – jepler 于 2018-07-18
Can you say a little more about your testing procedure? I set up the following:
“`
loadrt threads
loadrt pid num_chan=2 debug=1
loadrt siggen
addf siggen.0.update thread1
addf pid.0.do-pid-calcs thread1
addf pid.1.do-pid-calcs thread1
net cmd siggen.0.sine pid.0.command pid.1.command
net cmdderiv siggen.0.triangle pid.0.command-deriv
start
and scoped pid.[01].errorD`. One looks like a triangle, and the other looks like a sine. This makes me believe the command-deriv functionality is working.
!image
#3 – pcw-mesa 于 2018-07-18
What I did was take a running configuration with a PID stepgen setup that had pid.0.command-deriv unconnected and “net-ed” pid.0.command-deriv to some crazy signal like the position command
I would have expected this to created a large following error (since the PID stepgen depends mostly on FF1) but in fact nothing happened at all.
#4 – pcw-mesa 于 2018-07-18
This is where this started: https://forum.linuxcnc.org/10-advanced-configuration/34827-joint-vel-cmd-for-torque-pid-loop-and-linear-encoder-pid?start=10
#5 – jepler 于 2018-07-18
OK, then does this image capture the problem? Similar to before, except now I am additionally scoping ‘commandD’. In the case of pid.0 with the command-deriv pin connected, the errorD pin reflects the command-deriv value but the commandD pin does not.
#6 – jepler 于 2018-07-18
and would the following screenshot represent corrected behavior?
!image
#7 – pcw-mesa 于 2018-07-18
Not sure about the debug pins, where I saw a problem is with just FF1=1 the pid.n.command-deriv pin value does not change the pid output
#8 – c-morley 于 2019-01-10
Can we close this issue now?
#9 – mozmck 于 2019-10-25
Closing this because the merge says it closes this issue – I don’t know why github didn’t auto-close it.
#1 – andypugh 于 2018-07-18
That seems to suggest that the dummysig trick does not actually work?
https://sourceforge.net/p/emc/mailman/message/26519176/