siemens scl语句表问题

请大师帮忙解释下如下的语句表是什么意思?


VAR_TEMP
    _idx : INT;                            
    _int : INT;
    _dint : DINT;
    _byte : BYTE;
    _carType : INT;  

FOR _idx := 15 TO 1 BY -1 DO
        IF CAR_BUFFER[_idx].AVA AND NOT CAR_BUFFER[_idx].VAL AND NOT CAR_BUFFER[_idx].DONE THEN
            AKTIV_CAR := _idx;

最佳答案

变量_idx的数值从15到1依次减1运行,到1后执行完程序,等下次周期到后又从15到1依次减1运行。
如变量_idx的数值为15时,CAR_BUFFER[15].AVA为1,NOT表示取反,CAR_BUFFER[15].VAL为0,则NOT CAR_BUFFER[15].VAL结果为1。 NOT CAR_BUFFER[15].DONE 的分析同上。这样3个条件都为1时,把变量_idx的数值15传送给AKTIV_CAR 。
变量_idx的数值为14时,分析同上,只是把15改为14.

提问者对于答案的评价:
解释的非常仔细

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

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

相关推荐