quote:以下是引用荒漠旅人在2012-03-25 09:08:29的发言:
这其实是常规PID就能解决的问题。
首先,0-10V的反馈信号把它理解成0-100%的信号范围,输出4-20mA也是0-100%的范围。PID为负反馈,输出50%正好对应12mA。只要设定值为50%,输出基本上就是50%(反馈也基本在50%)。如果输出50%时电气零点和机械零点不重合,只要在PID的输出上加一个数就可修正。
200自带的PID已经有手/自动功能,非常适合你。把PID转为手动时来修正电气零点。
有几个伺服阀就用几个PID,没必要用多个PID控制一个伺服阀。
对于此例的PID输出,你的理解完全是错误的!
首先:此例是由液压比例方向阀控制油缸位置,因为是方向阀,要控制执行机构的前进及后退,因此PID输出的4-20mA必须对应-100%-+100%!且当油缸到达任意指定位置(0-100%)时,PID输出应该在12mA附近作极小摆动,因为有各种扰动存在。而不是你所理解的命令50%,反馈在50%,输出也基本是50%!
其次,即使你认为PID单极性输出0-100%=4-20mA可行(其实只是碰巧4-20mA=比例阀的双极性控制信号,PID会自动控制在输出50%,不管命令=反馈=某个值),那么单极性0-100%=0-10V是否可以呢?显然不行。你不要告诉我5V是比例阀的0位。
即使是液压的压力控制,PID输出的确是单极性0-100%,但由于液压阀的非线性,也不可能是你所理解的命令50%,反馈在50%,输出也基本是50%!
再者,必须调整比例阀的0位。不要试图加一个修正值!如果产品批量生产,你能接受每个PLC的程序不一样?或元器件的维修更换,到时候你准备让用户修改PLC程序里的参数?