新手求大师分析下面程序:

新手求大师分析下面程序:

:C  DB5
  : L KF 0
  :T DD 21
  :T DW 27
:A    F  0.1   (F0.1 Always=1)
 : =      F 1.1
 : AN   F   1.1
 : =      F 1.1
 : O      F 1.1
 : O      D 13.0
 : JC M001
 : L DW 27
 : L DW 20
 : >=F
 : BEC
 : S D 21.0
 : L DW 27
 : I         1
 : T DW 27
问题1:既然F1.1=true,为什么后面又有: AN   F   1.1
 : =      F 1.1
 : O      F 1.1   所以F1.1最终应该为true or false?
问题2:DW27<DW20时,D21.0=true。DW27从0开始累加一直到DW27>DW20时,程序结束。这样理解对吗?

问题补充:
1.这段程序看样看出M1.1一个扫描周期ON,一个扫描周期OFF 。所以F1.1状态就是一个扫描周期ON,一个扫描周期OFF。这样做的作用是什么?麻烦高手举个例子说明下。新手不太懂。

最佳答案

1.在S5PLC中F就是S7PLC的M,所以上面程序就是
    AN M1.1 
    = M1.1
这段程序看样看出M1.1一个扫描周期ON,一个扫描周期OFF 。所以F1.1状态就是一个扫描周期ON,一个扫描周期OFF。

2. 你的理解基本正确。如果DB5.DW27>DB5.DW20,就结束块扫描。如果DB5.DW27<=DB5.DW20,程序继续向下执行。只要DB5.DW27数值不大于DB5.DW20的数值,每个扫描周期DB5.DW27数值会加一,直到DB5.DW27数值大于DB5.DW20数值停止加一,执行到BEC指令时,就结束块扫描了。但是,还存在一个问题,就是跳转指令,当条件满足执行跳转,会跳转到M001处。由于你的程序不完整,没有写出跳转标签M001在何处,所以分析的时候要考虑到这一点。

提问者对于答案的评价:
.1.这段程序看样看出M1.1一个扫描周期ON,一个扫描周期OFF 。所以F1.1状态就是一个扫描周期ON,一个扫描周期OFF。这样做的作用是什么?麻烦高手举个例子说明下。新手不太懂。
2.M001是在这段程序的最末端,作为结束程序。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年5月28日 上午1:21
下一篇 2017年5月28日 上午1:21

相关推荐