西门子范例里的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