S7 300 STL 程序问题

请问此程序是什么问题?看图,左边的是程序,右边是在线监控下来的值。

问题补充:
请问此程式是怎么计算的?公式是?

图片说明:

S7 300 STL 程序问题    S7 300 STL 程序问题   

最佳答案

L     #OUT90.OUT91                //将数据实数OUT90.OUT91, 装载到ACCU 1 中。
      L     #temp147                    //将临时变量temp147  , 装载到ACCU1 中,将ACCU1原来的内容装载到ACCU2中
      /R                                //ACCU 2 除以ACCU 1,结果存储到ACCU 1 中。
      T     #TEMP146                    //将ACCU 1 的内容传送给 临时变量temp146.
      L     #IN69.IN72.IN75             //将数据实数IN69.IN72.IN75 , 装载到ACCU 1 中。
      L     #temp147                    //将临时变量temp147  , 装载到ACCU1 中,将ACCU1原来的内容装载到ACCU2中
      /R                                //ACCU 2 除以ACCU 1,结果存储到ACCU 1 中。
      L     #TEMP146                    //将 临时变量temp146传送给ACCU 1,将上面除以的结果从ACCU1中传送到ACCU2中 .
      TAK                               //TAK (将ACCU 1与ACCU 2互换)将把ACCU 1的内容与ACCU 2的内容交换
      -R                                //ACCU 2 减ACCU 1,结果存储到ACCU 1 中。
      RND                               //RND //将ACCU 1内的 浮点数(32 位,IEEE-FP)转换为整型(32 位)并对结果进行舍入 ,并存入ACCU1中
      AD    DW#16#FFFF                  //使用与运算将ACCU 1 的位与32 位常数 (0000 0000 0000 0000 1111 1111 1111 1111)的位模式组合,取其低16位,将结果存储在 ACCU 1 中。

      L     #IN69.IN72.IN73             ////将整数数据IN69.IN72.IN73, 装载到ACCU1 中,原来ACCU1当中的数据放到ACCU2中
      +I                                // ACCU 1 + ACCU 2,当中的低位相加(整型16位)  
      T     #OUT82                      // 装载到 整数数据OUT82 

//   需要注意的是:TEMP146,TEMP147,就是建立的临时变量
//OUT90.OUT91 \IN69.IN72.IN75 \IN69.IN72.IN73 用自己建立的数据类型,然后在在FC功能块的接口当中,引用你已经定义的数据类型就可以了!
//(#OUT82)=(#IN69.IN72.IN75)/(#TEMP147)-(#OUT90.OUT91)/(temp147)+(#IN69.IN72.IN73)

提问者对于答案的评价:
按右边的值计算,值都不对啊?

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc250350.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月2日 下午5:29
下一篇 2018年12月2日 下午5:29

相关推荐