关于pid问题
郑志武
发布于2012-12-16 23:26
2
0
标签:
1油箱加热器控制油箱温度,但它不是pid调节,低于一定值(48)启动,高于一定值(52)停止;2冷却水阀由s7-200的pid调节,控制其在一定温度比如50度。油液从油箱抽出,经过管道上的温度检测控制电磁水阀开口度。问题是:1怎么尽可能好的实现此要求以便能控制正负一度?,有人说分段调节,请大虾们详述如何分段?怎么实现?看过此论坛很多贴,好像没有详细说明。都说用sm0.0是pid唯一的条件,那可以串联温度高于一定值的触点来控制pid是否运行吗?还是用多个pid?从未调试过pid,请给一个优化的方案。好有实例程序。
问题补充:
看来我的想法没有完全叙述清楚。我的忧虑在于pid控制的温度来源于油箱,其波动范围是比较大的,加热器应该有滞后,因此对于后面的pid调节电磁比例阀开口度是不是会更麻烦一些?在sm0.0后面再串联触点来触发pid是可以的还是不被允许?如何分段调节?是多个pid还是加条件触发pid指令?如果加条件触发pid调节可以,我如何在程序中不同温度条件下使用不同的pid参数?文中提到的是电磁阀开口度,所以电磁阀是比例式的,而不是开关量的。
佳答案
1、加热的开关用do控制没有问题
2、温度用pid控制,你需要根据现场调试pid参数这个不需要分段控制,你可以设置pid输出的高低限,防止积分积死。你的情况只要用一个pid就行了,多再加一个提前量控制水阀,比如开始加热的时候提前开一点阀,停止加热的时候提前关闭一点阀门,具体这个量是多少要现场调试。如果pid参数合适的话你的启停加热对温度的影响不会很大的。
3、你要求在正负1度范围内控制,那么加热的启停控制就不能再用正负2度来控制应该用正负1度或者正负0.5度控制。否则你永远达不到正负1度的控制目的,而且pid只有发散,不会收敛。