欢迎来到天天文库
浏览记录
ID:37551816
大小:41.40 KB
页数:16页
时间:2019-05-25
《FB41的SCL源码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、最近在论坛看到好多网友寻找西门子PLCFB41的SCL源码,现在就将我从网上搜集(因原始出处好像不能访问了,时间久了我也忘记了,)的源码贴出来,此源程序来源于网络,不保证编译后与原版一致,仅供参考。源码我粗略看了一遍,好象是不完全微分PID,但由于使用的是位置式PID,所以里面还做了手自动的无扰动切换,但个人感觉无扰动切换还是增量PID好,无需做任何处理就直接支持。源码可以通过编译,内容如下:FUNCTION_BLOCK"CONT_C"TITLE='continuousPIDcontroller'AUTHOR:MTFAMILY:ICONTNAME:CONT_CVERSION:'1.5'KNO
2、W_HOW_PROTECTVAR_INPUT COM_RST: BOOL:=FALSE; //完全重启动 MAN_ON: BOOL:=TRUE; //手动值打开 PVPER_ON: BOOL:=FALSE; //外设过程变量打开 P_SEL: BOOL:=TRUE; //比例作用打开 I_SEL: BOOL:=TRUE; //积分作用打开 INT_HOLD: BOOL:=FALSE; //积分作用保持 I_ITL_ON: BOOL:=FALSE; //积分作用初始化 D_SEL: BOOL:=FAL
3、SE; //微分作用打开 CYCLE: TIME:=T#1S; //采样时间 SP_INT: REAL:=0.0; //内部设定值 PV_IN: REAL:=0.0; //过程变量输入 PV_PER: WORD:=W#16#0;//外设过程变量 MAN: REAL:=0.0; //手动值 GAIN: REAL:=2.0; //比例增益 TI: TIME:=T#20S; //积分复位时间 TD: TIME:=T#10S; //微分时间 TM_LAG: TIME
4、:=T#2S; //微分作用时间延时 DEADB_W: REAL:=0.0; //死区带宽 LMN_HLM: REAL:=100.0; //积分值上限 LMN_LLM: REAL:=0.0; //积分值下限 PV_FAC: REAL:=1.0; //过程变量因子 PV_OFF: REAL:=0.0; //过程变量偏移量 LMN_FAC: REAL:=1.0; //调节值因子 LMN_OFF: REAL:=0.0; //调节值偏移量 I_ITLVAL: REAL:=0.0; //积分作用的初始化值 DI
5、SV: REAL:=0.0; //干扰变量END_VARVAR_OUTPUT LMN: REAL:=0.0; //调节值 LMN_PER: WORD:=W#16#0;//外设调节值 QLMN_HLM: BOOL:=FALSE; //达到调节值上限 QLMN_LLM: BOOL:=FALSE; //达到调节值下限 LMN_P: REAL:=0.0; //比例分量 LMN_I: REAL:=0.0; //积分分量 LMN_D: REAL:=0.0; //微分分量 PV: REAL:
6、=0.0; // ER: REAL:=0.0; //误差信号END_VARVAR sInvAlt: REAL:=0.0; //上周期比例偏差值 sIanteilAlt: REAL:=0.0; //上周期积分值 sRestInt: REAL:=0.0; //上周期积分偏差量(浮点数计算偏差) sRestDif: REAL:=0.0; //上周期微分偏差量(浮点数计算偏差) sRueck: REAL:=0.0; // sLmn: REAL:=0.0; //上周期调节值 sbArwHLmOn: BOOL:=FA
7、LSE; //上周期达到调节值上限 sbArwLLmOn: BOOL:=FALSE; //上周期达到调节值下限 sbILimOn: BOOL:=TRUE; //备用-本程序没有使用该变量END_VARVAR_TEMP rCycle: REAL; //采样时间浮点值 Iant: REAL; //积分增量 Diff: REAL; //积分量 Istwe
此文档下载收益归作者所有