TAR2及子程序看不明白STL语言 点击:660 | 回复:0



wgiutk2007

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 2回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2013年6月04日
发表于:2014-01-25 11:02:10
楼主

概况:我们公司有台加热炉,共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、谢谢!顺便祝大家新年快乐、万事如意!

   






热门招聘
相关主题

官方公众号

智造工程师