FB100块仿真PID公式探讨

已锁定

暖色coffee

  • 帖子

    28
  • 精华

    0
  • 被关注

    6

论坛等级:游侠

注册时间:2017-11-21

普通 普通 如何晋级?

FB100块仿真PID公式探讨

4840

4

2018-01-02 23:23:33


西门子范例里的FB100  PID模拟仿真块(很多地方和FB41块相似)以下几个疑问请大侠帮忙解答感谢 问


问题4 :仿真PID,里面的STL程序 是模拟三阶惯性环节传递函数,,如果需要加滞后环节exp^(-ts)或别的环节,怎样在stl中修改





附:FB100原块   在step7中,“文件”菜单下点击"打开",选择“样例程序”下的zEn01_13_STEP7__PID-Temp。打开后,拷贝FB100到自己的项目。在OB35中调用FB100,相当于是一个模拟系统,可以仿真您的PID

FB100:process for continious PID control
SET 
SAVE 
= L 24.1
A #COM_RST
JCN M001
L #INV //complete restart routine
T #OUTV //write output data
T #sRueck1 //write static data
T #sRueck2
T #sRueck3
JU M002
M001: L #CYCLE //cycle mode routine
DTR //transform data type
T #rCycle
L #TM_LAG1
DTR 
T #rTmLag1
L #TM_LAG2
DTR 
T #rTmLag2
L #TM_LAG3
DTR 
T #rTmLag3
L #rCycle //limit TM_LAG1
L 5.000000e-001
*R 
L #rTmLag1
TAK 
<r JCN M003
L #rCycle //limit TM_LAG2
L 5.000000e-001
*R 
T #rTmLag1
M003: L #rCycle
L 5.000000e-001
*R 
L #rTmLag2
TAK 
<r JCN M004
L #rCycle
L 5.000000e-001
*R 
T #rTmLag2
M004: L #rCycle //limit TM_LAG3
L 5.000000e-001
*R 
L #rTmLag3
TAK 
<r JCN M005
L #rCycle
L 5.000000e-001
*R 
T #rTmLag3
M005: L 2.000000e+000 //1. lag first order algorithm
L #rTmLag1 //Hvar := rCycle /(2.0*rTmLag1)
*R 
L #rCycle
TAK 
/R 
T #Hvar
L #INV //Hvar := ((INV+DISV)*GAIN - sRueck1) *Hvar/(1.0+Hvar) 
L #DISV
+R 
L #GAIN
*R 
L #sRueck1
-R 
L #Hvar
*R 
L 1.000000e+000
TAK 
T LD 26
TAK 
L #Hvar
+R 
L LD 26
TAK 
/R 
T #Hvar
L #sRueck1 //OutvNew := sRueck1 + Hvar
+R 
T #OutvNew
L 2.000000e+000 //sRueck1 := sRueck1 + 2.0*Hvar
L #Hvar
*R 
L #sRueck1
+R 
T #sRueck1
L 2.000000e+000 //2. first lag order algorithm
L #rTmLag2
*R 
L #rCycle
TAK 
/R 
T #Hvar
L #OutvNew
L #sRueck2
-R 
L #Hvar
*R 
L 1.000000e+000
TAK 
T LD 26
TAK 
L #Hvar
+R 
L LD 26
TAK 
/R 
T #Hvar
L #sRueck2
+R 
T #OutvNew
L 2.000000e+000
L #Hvar
*R 
L #sRueck2
+R 
T #sRueck2
L 2.000000e+000 //3. lag first order algorithm
L #rTmLag3
*R 
L #rCycle
TAK 
/R 
T #Hvar
L #OutvNew
L #sRueck3
-R 
L #Hvar
*R 
L 1.000000e+000
TAK 
T LD 26
TAK 
L #Hvar
+R 
L LD 26
TAK 
/R 
T #Hvar
L #sRueck3
+R 
T #OutvNew
L 2.000000e+000
L #Hvar
*R 
L #sRueck3
+R 
T #sRueck3
L #OutvNew //write output
T #OUTV
M002: CLR 
A L 24.1
SAVE 
BE 

 程序的部分注释参考我在知乎的提问 https://www.zhihu.com/question/263301791

  



FB100块仿真PID公式探讨 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54711条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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