登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:为什么PID程序在仿真软件上调试出错

点击:1817 回复:3

有一个关于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
MOVW   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                   // 将数值写入模拟输出
按上边的程序在仿真软件上调试时,PID    VB100, 0显示出错误,不知道为什么,哪位好心人可以帮忙啊!非常的感谢,好心人一生平安!
07-05-07 12:27
因为仿真程序不支持子程序仿真。200PLC的仿真软件不能仿真200PLC的大多数功能。西门子也没有发布过200的仿真软件。
07-05-07 15:11
请问楼上的有没有比较好的,能够仿真PID功能的软件啊?能不能给发一份啊,谢谢zy_82666al@163.com
07-05-07 15:15
目前使用的都是由西班牙爱好者编写的仿真程序,版本号为1.2 ,2.0的支持TD200,基本都不支持复杂功能的仿真,您还是去搞一个实体来进行检验您的程序吧。
07-05-07 15:42

工控新闻

更多新闻资讯