为什么PID程序在s7200PLC上仿真老是出错误??

[复制链接]
查看2322 | 回复0 | 2007-5-7 12:49:00 | 显示全部楼层 |阅读模式
有一个关于PID的程序,为什么在S7-200仿真软件上调试老是出错,程序如下
主程序:
LD SM0.1
CALL SBR_0
子程序:
LD SM0.0
MOVR 0.75, VD104 // 载入循环定点 = 注满75%
MOVR 0.25, VD112 // 载入循环增益 = 0.25
MOVR 0.2, VD116 // 载入循环采样时间 = 0.1秒
MOVR 30.0, VD120 // 载入积分时间 = 30分钟

MOVR 0.0, VD124 // 设置无微分计算
MOVB 200, SMB34 // 为定时中断INT_0
// 设置定时间隔(100毫秒)。
ATCH INT_0, 10 // 设置定时中断,激活
// PID执行。
ENI // 启用中断
中断程序:
// 将PV标度为标准化实数
LD SM0.0
ITD AIW0, AC0 // 将整数数值转换为双整数
DTR AC0, AC0 // 将双整数转换为实数

/R 32000.0, AC0 // 使数值正常化
MOVR AC0, VD100 // 将正常化PV存储在循环表中
LD I0.0
PID VB100, 0
LD SM0.0
MOVR VD108, AC0 // 将循环输出移至累加器
*R 32000.0, AC0 // 标度累加器中的数值
ROUND AC0, AC0 // 将实数转换为双整数

DTI AC0, AC0 // 将双整数转换为整数
MOVW AC0, AQW0 // 将数值写入模拟输出
按上边的程序在仿真软件上调试时,ITD AIW0, AC0 显示出错误,如把这一步改为MOVW AIW0, AC0 ,然后调试时PID VB100, 0这一步又出现错误
不知道为什么,那位好人能否帮忙给看看啊,十分感谢!好人一生平安!

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则