我看的西门子S7 200阳声峰的教学视频,我在上面看到的PID控制的回路的参数表,上面提示的范围给定值范围是0到1.0的范围,为什么变成的时候他给定的数值是50,他的原件号我看的也是不对的,设定的初始地址是VB200他变成用的VD104这个他应该是错误的,笔误了,但是数值用50.0我就看不明白了,不应该吧这个50这个数值转换成0到1的比例数值再输入到VD204里面吗,然后还有他就算使用的不是PID,使用的是PD,那么他的微分怎么输入时直接对VD224赋值吗,如果一切正确的话那么更改P I D三个参数是不是直接就对这三个对应的数据赋值就行吗,他输出使用的是数字量输出,占空比控制,那我怎么确定使用高电平控制加热还是用低电平控制加热。。如果选用不正确是不是结果也会偏差比较大,参数重新调整。
最佳答案
1、为什么变成的时候他给定的数值是50
用 PID 指令时必须规格化,但用向导生成时,可以不用规格化;
但是回路设定值(SP)的下限必须对应于过程变量(PV)的下限,回路设定值的上限必须对应于过程变量的上限,以便PID算法能正确按比例缩放。
阳胜峰老师用向导组态时,给定值的范围组态成了 25℃-100℃;
将过程变量也就是反馈值的取值范围组态成了范围低限 25,范围高限100。所以不用转换成 0-1之间的实数了。这一点仔细看视频。
2、设定的初始地址是VB200,这是PID回路表的起始地址,则:
VD204 就是 设定值
VD212 就是 增益KC
VD216 就是 采样时间TS
VD220 就是 积分时间TI
VD224 就是 微分时间TD
这几个参数就是PID的主要参数,你说的对的,可以直接修改其值,设定相应的参数值,但是,采样时间的修改则必须重新运行 PID 向导。
阳胜峰老师设定值在 VD100中,VD100这个实参值会在调用向导生成的子程时 PID0_INIT 时,传递给形参 SetPoint_r。
3、PID 输出为高电平时加热,PID 输入低电平时制冷。
4、附图是当时听技成阳胜峰老师讲座时做的笔记。我做时用的回路表的起始地址是VB1000,设定值用的是VD0,跟阳胜峰老师用的不一样,其余的相同。
5、参考资料
PID常见问题
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-portal/MicroPower2013/Smart%20SMS/014.html
以及《S7-200 PID》
http://www.ad.siemens.com.cn/service/article/s7-200/s7-200pid/default.aspx
图片说明:
提问者对于答案的评价:
我看他视频用指令块,不是用设置向导,设置的给定值50.0那是不是他这个地方用错了。 然后我卡手册上说如果使用数字量输出必须制定Q0.0和Q0.1,那我要是有两个PID控制那不就没地址用了。
回答者回答的很用心,非常感谢。
最佳答案作者回复:
可以用中间位,比如 M0.0,然后, M0.0常开点控制加热导通, M0.0常闭点控制制冷导通。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc367615.html