1
PLC编程实用指南
1.7.6.5 3.6.5  使用PID指令有关细节
3.6.5 使用PID指令有关细节

使用PID指令进行PID控制,虽只使用一个指令及作有关设定。但也还有一些细节要考虑与处理。

(1)数据格式转换。尽管PID指令输入、输出用的格式为十六进制,与模拟量输入、输出单元的数据格式是相同的,为使用PID指令提供了方便。但是,还是存在一些不那么对应的情况。如用脉冲作输入信号,其格式用的就不是十六进制,而是BCD码;调宽脉冲输出,其格式用的也不是十六进制,而是BCD码。而PID指令的输入(源字)、输出(结果字)都是十六进制。这时,在使用PID前,要做一些数据格式转换,如必要也可能还要作比例换算,以便于执行PID指令时,使用有关数据。同时,在执行PID指令得出结果后,也要把这个结果值进行换算,以便于为有关输出使用。

把BCD码转换为十六进制,可用BIN指令。反之,可用BCD指令。图3-56所示为有关转换指令的使用情况。图3-56a为执行PID指令前的转换,它把输入数据BCD码DM666转换为十六进制DM716。用它作PID指令的原数据。图3-56b为执行PID指令后的转换,它把PID指令执行后的结果数据十六进制DM718,转换为BCD码数据DM500,以作为实际控制输出。

(2)参数变换。执行PID指令,当偏差值不同时,所选的参数最好也有所不同。如比例带、积分常数等,在偏差大时,可选小一些,以强化它的作用。而偏差小时,或控制输出已将接近开环测定的数值,这些参数可选偏差大些,以弱化它的作用。图3-57所示即为此类程序。如图所示,当“偏差值1”大于4时,把250赋给DM901,500赋给DM902;反之,把20赋给DM901,50赋给DM902。这里的DM901、DM902分别为“比例带”、“积分常数”,正是PID控制参数。

978-7-111-39745-8-Chapter04-86.jpg

图3-56 数据转换梯形图程序

但是,CS1机以前的PLC,一旦指令开始执行,参数改变将不起作用。为此,要对PID指令作再执行处理,即当参数改变时,先使执行PID指令的条件OFF,让后再令1ON。图3-58即为此类程序的一个。

978-7-111-39745-8-Chapter04-87.jpg

图3-57 参数变换梯形图程序

978-7-111-39745-8-Chapter04-88.jpg

图3-58 使新参数立即起作用梯形图程序

从图3-58可知,当DM901、DM902的值改变时,LR1.01、LR1.02将OFF一个扫描周期,用此即可使新参数起作用。

(3)输出值控制。尽管作了数据变换或转换,但有时还是难以做到控制输出值与所驱动的对象完全适应。如有这样的情况,模拟量输出单元的输出范围为0~10V,而对象所用的控制输入只能为0~5V。

(4)手动、自动无扰动切换。实际系统除了自动控制,有时还要求手动控制。而且这两者切换时,最好系统的控制输出不要突变,以免系统受到不应有的冲击。参数变化时也有这个问题。

怎么做到这一点呢?一般讲在两种情况下转换,冲击将少一些。即在偏差值为0,或尽量小时转换;或控制输出值相等或接近相等时转换。

为此,在手动向自动转换时,可观测自动的给定值与实际值相差大否?太大时,应使其调到相接近时切换。自动到手动转换,应使手动的输出初值设为当时自动地控制输出值。

(5)多种控制算法配合使用。PID控制虽然有很多优点。但由于系统的非线性等诸多原因,完全用PID控制有时难以满足实际要求。所以也可考虑依不同的偏差值,或依不同的工况,有时用PID控制,有时也可用别的控制。多种控制配合使用,以获得更好的控制效果。