找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
最原始方法打开STEP7 在库里面有。在打开项目的窗口中,点击库属性页-选择标准库(STANDARD LIBRARY)。找到后双击。
在ob1或ob35里面插入FB41,方框顶上会有红字,输入一个类似“DB120”的,系统会问你要不要生成这个Db,yes就可以。
VAR_INPUT
DirectReversAction : BOOL ; //0= Direct (PV > SP= Y open). 1= Revers (PV > SP= Y close)
RestartController : BOOL ; //Complete restart
ManualOn : BOOL ; //Manual on. (1=on)
Setpoint : REAL ; //Setpoint
ProcesValue : REAL ; //Proces value
Gain : REAL ; //P action
ITIme : DINT ; //I- time (s)
DBWidth : REAL ; //Dead band width
HighLimit : REAL ; //High output limit
LowLimit : REAL ; //Low output limit
END_VAR
VAR_OUTPUT
Yout : REAL ; //COntroller output
END_VAR
VAR_IN_OUT
ManualValue : REAL ; //Manual value
END_VAR
VAR
ManAutoHB : BOOL ;
Yout1 : REAL ;
ManualValue1 : REAL ;
PIController : "PIController"; //PI Controller
END_VAR
VAR_TEMP
Gain2 : REAL ;
ITimeDINT : DINT ;
ITime2 : TIME ;
END_VAR
BEGIN
NETWORK
TITLE =Selection direct or reverse action.
//Direct: PV > SP: Yout close
//Revers: PV > SP: Yout open
A M 1.1;
= L 12.0;
A L 12.0;
AN #DirectReversAction;
JNB _001;
L #Gain;
T #Gain2;
_001: NOP 0;
A L 12.0;
A #DirectReversAction;
JNB _002;
L #Gain;
NEGR ;
T #Gain2;
_002: NOP 0;
NETWORK
TITLE =ITime conversion from DINT to TIME
A( ;
L #ITIme;
L L#1000;
*D ;
T #ITimeDINT;
AN OV;
SAVE ;
CLR ;
A BR;
) ;
JNB _003;
L #ITimeDINT;
T #ITime2;
_003: NOP 0;
NETWORK
TITLE =Selection manual/auto mode
A #ManualOn;
= L 12.0;
A L 12.0;
FP #ManAutoHB;
JNB _004;
L #Yout1;
T #ManualValue;
_004: NOP 0;
A L 12.0;
JNB _005;
L #ManualValue;
T #ManualValue1;
_005: NOP 0;
NETWORK
TITLE =PI Controller
A #RestartController;
= L 12.0;
BLD 103;
A #ManualOn;
= L 12.1;
BLD 103;
A M 1.1;
= L 12.3;
BLD 103;
A M 1.1;
= L 12.4;
BLD 103;
A M 1.0;
= L 12.5;
BLD 103;
A M 1.0;
= L 12.6;
BLD 103;
A M 1.0;
= L 12.7;
BLD 103;
CALL #PIController (
COM_RST := L 12.0,
MAN_ON := L 12.1,
P_SEL := L 12.3,
I_SEL := L 12.4,
INT_HOLD := L 12.5,
I_ITL_ON := L 12.6,
D_SEL := L 12.7,
CYCLE := T#500MS,
SP_INT := #Setpoint,
PV_IN := #ProcesValue,
MAN := #ManualValue1,
GAIN := #Gain2,
TI := #ITime2,
DEADB_W := #DBWidth,
LMN_HLM := #HighLimit,
LMN_LLM := #LowLimit,
PV_FAC := 1.000000e+000,
PV_OFF := 0.000000e+000,
LMN_FAC := 1.000000e+000,
LMN_OFF := 0.000000e+000,
I_ITLVAL := 0.000000e+000,
DISV := 0.000000e+000,
LMN := #Yout1);
NOP 0;
NETWORK
TITLE =Move Yout to output
L #Yout1;
T #Yout;
NOP 0;
END_FUNCTION_BLOCK
《用Step7中SFB41/FB 41、SFB42/FB42、SFB43/FB43实现PID控制 》下载:
http://www2.ad.siemens.com.cn/Download/Upload/AS/application/A0018.pdf
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!