[LinuxCNC/linuxcnc Issue#466] PID component does not use command-deriv pin if connected

未分类 bolang 5个月前 (10-15) 25次浏览

Issue #466 | 状态: 已关闭 | 作者: pcw-mesa | 创建时间: 2018-07-17


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)

#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/


#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.



#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.

!image


#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.


原始Issue: https://github.com/LinuxCNC/linuxcnc/issues/466

喜欢 (0)