作者 | 主题 |
---|---|
手机用户20180517132981 游士 经验值: 277 发帖数: 37 精华帖: 0 |
楼主 2018-10-11 10:31:53
主题:SMART200 FOR(NEXT) 有没有详细的说明? |
芳季 至圣 经验值: 66574 发帖数: 14746 精华帖: 100 |
1楼 2018-10-11 10:37:36
主题:回复:SMART200 FOR(NEXT) 有没有详细的说明? for不循环就执行一次。循环就执行n次。你一直接通就一直循环了。 什么叫循环?扫描本身就是一个循环了,扫描一次for循环n次。 所以一直增加。 详细的说明你就点击for-next指令然后按F1。 |
WWCWWC 至圣 经验值: 71712 发帖数: 8024 精华帖: 145 |
2楼 2018-10-11 10:46:51
主题:回复:SMART200 FOR(NEXT) 有没有详细的说明? 一个记忆非常深刻的指令。 for next指令的工作机制:(必须配对使用,且允许嵌套使用) INDX:记录当今循环次数 INIT:从定义的第几个循环开始进行 FINAL:循环次数定义 当条件满足激活该指令时允许循环,INDX一定是从指定的(init)开始循环,且在FOR指令下面的程序段开始循环,直到NEXT标记返回到FOR,并记录循环次数,当INDX = FINAL时,循环结束。 注意!注意!注意!这种循环仅仅是一个周期内完成的,而不是多个周期内。 另外,当循环次数多,或者嵌套循环层多了会影响到程序最大扫描周期的,那样会停止cpu影响,遇到此类问题时,在简化用户程序的前提下,通过调用WDR指令处理。 |
WWCWWC 至圣 经验值: 71712 发帖数: 8024 精华帖: 145 |
3楼 2018-10-11 10:52:41
主题:回复:SMART200 FOR(NEXT) 有没有详细的说明? 不知道这样解释能够理解这个for next指令? 哦,忘了解释程序了。 当接通I0.0/I0.1,指令inc_w为什么会一直加? 因为你一直让循环在工作呀,你停止循环? 一般循环触发仅仅需要一个沿(上升沿、下降沿)均可以。上面已经描述过该指令,循环开始到结束仅仅只需要一个周期就可以了,与其它指令有区别的。 你在I0.0后面加一个上升沿试试就明白了。 |
shine 至圣 经验值: 19950 发帖数: 8944 精华帖: 39 |
4楼 2018-10-11 11:11:26
主题:回复:SMART200 FOR(NEXT) 有没有详细的说明? 打个比方: 你原来的每天资100块(对应+1指令) 老板给你涨了10倍的工资(循环10次) 你还是要每天上班(对应OB1循环) 你觉得你的存款(对应VW2)就是1000呢还是每天增加1000 |
kibu 侠圣 经验值: 4513 发帖数: 554 精华帖: 4 |
5楼 2018-10-11 13:04:10
主题:回复:SMART200 FOR(NEXT) 有没有详细的说明? for循环指令触发请用上升沿或下降沿信号,不要用常开、常闭点 |
芳季 至圣 经验值: 66574 发帖数: 14746 精华帖: 100 |
6楼 2018-10-11 16:22:01
主题:回复:SMART200 FOR(NEXT) 有没有详细的说明? 用边缘还是用触点,随人家的吧?什么理由不要用啊? |
手机用户20180517132981 游士 经验值: 277 发帖数: 37 精华帖: 0 |
7楼 2018-10-12 11:37:34
主题:回复:SMART200 FOR(NEXT) 有没有详细的说明? |
WWCWWC 至圣 经验值: 71712 发帖数: 8024 精华帖: 145 |
8楼 2018-10-12 11:53:40
主题:回复:SMART200 FOR(NEXT) 有没有详细的说明? 季侠说的也对,触发循环不仅仅只能用沿,在类似于沿的触发机制下就可以了,比如说,在中断子程序中调用。 有时候的回答仅仅局限于楼主或者回答者的程序例子而言的,具有一定的局限性,没有面对面的交流直接。 |
芳季 至圣 经验值: 66574 发帖数: 14746 精华帖: 100 |
9楼 2018-10-12 11:59:31
主题:回复:SMART200 FOR(NEXT) 有没有详细的说明? 如果要每个周期都统计四个字节里面有多少个1,那么用for循环32次加双字移位循环加加一指令,那么这个for就要用触点每个周期都要接通啦。 |