2、或者通过其他途径修改参数,可直接在PID的背景数据块里修改相应参数,参数实时生效,且不需要从新下载或STOP-RUN。PID的增益积分微分这几个参数具有保持性,不用担心断电会丢失,操作如下:
用户:好的,PID参数这部分已了解。请问,PID输出限值可以修改吗。
工程师:可以通过组态界面或者上面提到的背景数据块来修改,注意数值范围:
用户:组态界面修改还是需要下载后从新启动plc,背景数据块修改实时生效吗?
工程师:实时修改背景数据块参数可以即时生效。不过,输出限值这类参数很少有应用要实时更改的,通常需要修改的也就比例积分微分这些参数。
用户:我这个系统很特别,夏天时输出最大值至60%,冬天时输出最大值至100%。这通过触摸屏的按钮切换。
工程师:哦,工业应用的需求确实各种各样。既然是通过触摸屏来改参数,那么还需要注意这几个参数不具有保持性,如果仅通过背景数据块修改让它生效了,但若PLC停机再从起的话,数据又恢复到之前组态的数据了。因为只有通过组态界面修改并下载的,才是直接修改数据块的初始值,而您说的这种触摸屏修改参数的方法仅是修改当前值,又没法断电保持。
用户:那怎么办?
工程师:让我们想个折中的方法,如果让触摸屏上通信的参数对应着具有保持性的地址,如MD0。再在OB100中,将MD0传送给OutputUpperLimit,如果通过触摸屏修改参数后,CPU从Stop--Run,就能实时生效了,且MD0具有保持性,也不会丢失了。
用户:嗯,可行。但还是的Stop--Run,要是设备不允许停机怎么办。
工程师:还是上述的方法继续折中哦,把这部分传送编程放到主程序中实时传送就可以了。不过这毕竟不是需要经常修改的参数,我建议您在触摸屏上放置一个确认按钮,修改参数后,点击确认再修改。那么在OB1的程序中,就直接用这个确认按钮的上升沿触发这条传送指令就行了。
用户:嗯,我会在触摸屏上设置密码的,也不是什么人都能改参数的。如果,要让PID的正反作用呢?
工程师:考虑权限控制是安全的。通常,PID的正反作用,只能在组态界面修改,如下图:
1、在背景数据块中对应的控制位(InvertControl --Bool),但不建议直接对该变量进行控制。我这边有做过实验,不建议这么使用。
2、正确的方法,是做两个PID Compact,有正作用的有反作用的,通过触摸屏上的选择项按钮,来确定使用哪个PID控制器。
3、可以通过修改增益参数的正负来转变PID的正反作用。