新手急求关于PID以及FB41知识。

已锁定

Sibeier

  • 帖子

    1
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2012-08-11

普通 普通 如何晋级?

新手急求关于PID以及FB41知识。

896

0

2012-08-11 11:07:37

刚接触PLC,采用的是315-2dp 程序中应用OB35 FB41 要求完成两台变频对泵的控制,程序如下:
//根据上位机的选择确定哪个罐的液位作为受控液位和使对应罐的设定值
A "DB_Pump".Tank1.TankBeChosen
JCN TAK2
L "DB_AI".LT202.Actual
T #TankLevel
L "DB_Pump".Tank1.PID_Setpoint
T #PID_Setpoint
JU TAK1
TAK2: L "DB_AI".LT201.Actual
T #TankLevel
L "DB_Pump".Tank2.PID_Setpoint
T #PID_Setpoint
TAK1: NOP 0

//计算偏差
L #PID_Setpoint
L #TankLevel
-R
T "DB_Pump".Tank1.PID_e
//处理手自动切换功能
A "DB_Pump".Tank1.PID_Man
JCN MAN1
L "DB_Pump".Tank1.PID_ManValve
T #ManValve
JU COMM
MAN1: L "DB_Pump".Tank1.PID_Out
T "DB_Pump".Tank1.PID_ManValve
COMM: NOP 0
//修改积分时间常数(从整数到time类型)
L "DB_Pump".Tank1.PID_I
L 1000
*D
T #PID_I
//上位机的泵选择信号取反后赋与PID的复位信号
A "DB_Pump".Tank1.PumpStart
NOT
= #PumpStop
//上位机的泵选择信号与变频器启动信号同步
A "DB_Pump".Tank1.PumpStart
= Q 0.0

CALL "CONT_C" , "DB_PID1"
COM_RST :=#PumpStop
MAN_ON :="DB_Pump".Tank1.PID_Man
PVPER_ON:=
P_SEL :=TRUE
I_SEL :=TRUE
INT_HOLD:=
I_ITL_ON:=
D_SEL :=FALSE
CYCLE :=T#1S
SP_INT :=#TankLevel
PV_IN :=#PID_Setpoint
PV_PER :=
MAN :="DB_Pump".Tank1.PID_ManValve
GAIN :="DB_Pump".Tank1.PID_P
TI :=#PID_I
TD :=
TM_LAG :=
DEADB_W :=1.000000e-002
LMN_HLM :=1.000000e+002
LMN_LLM :=0.000000e+000
PV_FAC :=
PV_OFF :=
LMN_FAC :=
LMN_OFF :=
I_ITLVAL:=
DISV :=
LMN :="DB_Pump".Tank1.PID_Out
LMN_PER :=
QLMN_HLM:=
QLMN_LLM:=
LMN_P :=#output_P
LMN_I :=#Output_I
LMN_D :=
PV :=
ER :=

L "DB_Pump".Tank1.PID_Out
L 2.764800e+004
*R
L 1.000000e+002
/R
RND
T "AO1"

在线检测的时候AO没有计算,显示数值为0.请问各位高端工程师程序哪里有错误,改如何修改。请明确指出。
新手急求关于PID以及FB41知识。 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54771条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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