PID中一些疑问

已锁定

huangge

  • 帖子

    228
  • 精华

    0
  • 被关注

    3

论坛等级:游侠

注册时间:2007-10-03

普通 普通 如何晋级?

PID中一些疑问

682

2

2009-10-16 08:47:42

我用向导生成的PID,在主程序中直接调用。P是5.0,I是10分钟。因为外围没有接线,所以直接用V区代替检测量(VD200:0~1之间),设定值(0~100),手动值(0~1)和输出值(6400~32000)。主程序如下,三个网络。

第一个网络初始化
LD SM0.1
R shoudong:M0.0, 1
MOVR 50.0, shedingzhi:VD206
MOVR 0.5, guocheng_bianliang:VD200
MOVR 0.5, shoudongvalue:VD210

第二个网络将0~1过程变量转换成6400~32000
LD SM0.0
MOVR 25600.0, AC0
AENO
*R guocheng_bianliang:VD200, AC0
AENO
+R 6400.0, AC0
AENO
ROUND AC0, AC0
AENO
MOVW AC0, guochengvalue:VW204

第三个网络直接调用PID
LD SM0.0
CALL PID0_INIT:SBR1, guochengvalue:VW204, shedingzhi:VD206, shoudong:M0.0, shoudongvalue:VD210, shuchu:VW214

然后我运行并用step7软件不断改变过程变量(0~1)进行监控。设定值一直为50.0。在运行过程中我发现当我的过程变量在0.5附近时运算趋势是正确的。可是当我将过程变量改为0.3或更小的时候,输出直接为32000,这个可以理解,因为与设定值的偏差过大,但是这时候我如果再次将过程变量改为0.5的时候,输出立刻为6400最小值。这个我觉得很难理解。假如我将变量改为0.7或以上,以上结果正好相反。大家觉得我这里有什么问题?
PID中一些疑问 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33274条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。