课设做得差不多了,一直在找怎么样能够用博图进行PID仿真(含被控对象传递函数),网上的资料太少了,分享经验
Achtung!!!博图软件中工艺指令:对S7-1200可以内置的PID控制器PID Compact不支持仿真!!不支持仿真!!!!!
其他的控制器300/400我不清楚,能不能仿真,但是这个PID Compact不能仿真!!!
软件:博图V15.1
PID控制器:自己编写
被控对象传递函数:调用西门子官方网站官方库
注意这个库只能S7-1200和S7-1500使用。
这个是下载库和例程的西门子官方链接
我的经历:这个例程我自己仿真试过没有曲线...不知道是不是自己不会仿真这个例程的原因
库我只用过LSim_PT1(一阶被控对象),有输出;LSim_PT2osc(二阶震荡),没有输出,试过很多遍了。
所以为了仿真二阶被控对象,我把一阶被控对象进行串联,手动改了FB的编号,不然会重复
PID的公式,我自己用的是位置式的PID
得出来的PID值,要加上输入给控制器的参数(被控对象的输出,测量值),才能给输出给被控对象
这个公式仅涉及加、减、乘、除,挺好编的,这里不赘述
我是在初始化组织块OB100中给Kp、Ki、Kd赋值,然后再循环中断组织块OB200中编写PID程序
对于被控对象,调用的是官方的库,要先安装
打开博图,打开OB/FB块,点击程序中一根线,在软件的右菜单栏,有“库”,然后打开全局库
如果你的版本较高,需要升级库,稍等一段时间就好。
升级以后,直接把想要的被控对象拖出来放到线上就能用了,顺便创建背景数据块
完成后可以使用HMI画面来显示曲线图(我使用的是两个一阶串联的二阶被控对象)
放一些官方工作手册的图
一阶传递函数