概况:我们公司有台加热炉,共12个加热口,每个加热口的工作方式都一样,只是数据不一样
程序由OB35-FC220-FB320-FC60\FC202\FC63组成,OB35里调用FC220,FC220相关程序如下
CALL FB 320 , DB30
TT_1 :=DB51.DBD2 //热偶1温度(1号口)
TT_2 :=DB51.DBD6 //热偶2温度(1号口)
TT_1_sel:=M30.2 //WINCC选择热偶1为加热参考值
TT_2_sel:=
TT_1_flt:=
TT_2_flt:=
Hi_sel :=M30.0 //WINCC选择热偶最高温那只为加热参考值
Avg_sel :=M30.1 //WINCC选择热偶平均温度那只为加热参考值
TT_out :=DB51.DBD54 //结果保存处
CALL FB 320 , DB31
TT_1 :=DB51.DBD10
TT_2 :=DB51.DBD14
TT_1_sel:=M30.5
TT_2_sel:=
TT_1_flt:=
TT_2_flt:=
Hi_sel :=M30.3
Avg_sel :=M30.4
TT_out :=DB51.DBD58
FB320 //通过以上接口选择哪种计算方式
SET
SAVE
= L 0.1
A #B2_GE
JCN A7d0
L #TT_1
T #B1_OUT
JU A7d1
A7d0: L #TT_2
T #B1_OUT
A7d1: L #TT_1
T LD 2
L #TT_2
T LD 6
TAR2 LD 10 //此处的AR2数据是多少?为什么要传入到临时D10中?
UC "CMP_R" //调用子程序FC60(CMP_R)
P#L 2.0 //此处的P#L2.0怎么与子程序FC60相关联??(FC60的IN1地址为0.0呀)怎么与此段FB320相关联?
P#L 6.0 //FC60的IN2地址为4.0呀?怎么对应呢?
P#L 0.2 //FC60的GT地址为8.0??
P#L 0.3 //FC60的GE地址为8.1??
P#L 0.4 //FC60的EQ地址为8.2??
P#L 0.5 //FC60的LE地址为8.3??
P#L 0.6 //FC60的LT地址为8.4??
LAR2 LD 10 //此处D10的数据为什么要传入AR2??
A L 0.6
= #B2_LT
A L 0.5
= #B2_LE
A L 0.4
= #B2_EQ
A L 0.3
= #B2_GE
A L 0.2
= #B2_GT
A BR
= #B2_ENO
= L 0.2
A L 0.2
A L 0.1
= L 0.1
A #Hi_sel
JCN A7d2
L #B1_OUT
T #B3_OUT
JU A7d3
A7d2: L #B4_OUT
T #B3_OUT
A7d3: CLR
A #Avg_sel
JCN A7d4
L #B7_OUT
T #B4_OUT
JU A7d5
A7d4: L #B5_OUT
T #B4_OUT
A7d5: CLR
A #TT_1_sel
JCN A7d6
L #TT_1
T #B5_OUT
JU A7d7
A7d6: L #TT_2
T #B5_OUT
A7d7: L #TT_1
T LD 2
L #TT_2
T LD 6
TAR2 LD 10
UC "real add"
P#L 2.0
P#L 6.0
P#L 14.0
LAR2 LD 10
L LD 14
T #B6_out1
A BR
= #B6_ENO
= L 0.2
A L 0.2
A L 0.1
= L 0.1
L 5.000000e-001
T LD 2
TAK
T LD 6
TAR2 LD 10
UC "MUL_R"
P#L 2.0
P#L 6.0
P#L 14.0
LAR2 LD 10
L LD 14
T #B7_OUT
A BR
= #B7_ENO
= L 0.2
A L 0.2
A L 0.1
= L 0.1
L #B3_OUT
T #TT_out
SAVE
BE
FC60 //大概是求最最大值计算公式吧?
SET
SAVE
= L 0.1
L #IN1 //查看接口里IN(初始地址为0.0)怎么能看出对应到FB320里的P#L2.0??
L #IN2 //查看接口里IN(初始地址为4.0)怎么能看出对应到FB320里的P#L6.0??
>=R
JCN A7d0
SET
= #GE //查看接口里OUT(初始地址为8.1)怎么能看出对应到FB320里的P#L0.3??
CLR
= #LT //查看接口里OUT(初始地址为8.4)怎么能看出对应到FB320里的P#L0.6??
L #IN1
L #IN2
>R
JCN A7d1
SET
= #GT //查看接口里OUT(初始地址为8.0)怎么能看出对应到FB320里的P#L0.2??
CLR
= #EQ //查看接口里OUT(初始地址为8.2)怎么能看出对应到FB320里的P#L0.4??
= #LE //查看接口里OUT(初始地址为8.3)怎么能看出对应到FB320里的P#L0.5??
JU A7d3
A7d1: CLR
= #GT
SET
= #EQ
= #LE
JU A7d3
A7d0: CLR
= #GT
= #GE
= #EQ
SET
= #LE
= #LT
A7d3: CLR
A L 0.1
SAVE
BE
希望看得明白批问号的地方给解释下?在线等402583898、谢谢!顺便祝大家新年快乐、万事如意!