夜夜躁日日躁狠狠久久|国产精品亚洲va在线观看|色天天天天综合男人的天堂|日本特黄特色aa大片免费|国产好痛疼轻点好爽的视频|欧美18school人禽杂交

愛(ài)笑的眼睛
級別: 實(shí)習會(huì )員
精華主題: 0
發(fā)帖數量: 3 個(gè)
工控威望: 46 點(diǎn)
下載積分: 673 分
在線(xiàn)時(shí)間: 6(小時(shí))
注冊時(shí)間: 2018-07-05
最后登錄: 2020-10-20
查看愛(ài)笑的眼睛的 主題 / 回貼
樓主  發(fā)表于: 2019-04-21 10:14
圖片:


FOR #a[1] :=1  TO 4 DO
        #a[5] := #a[1] + #a[1];
        #c := 1 + #c;

        #a[2] := 1+ #a[2];
        #a[4] := 4;

        IF #start_1 = 1 THEN
            
            ;
        END_IF;
        #a[5] := 5;
      
        ;
    END_FOR;

在編寫(xiě)的一個(gè)for循環(huán)中,用數組a{2}定義了一個(gè)int整數進(jìn)行自加1(其初始值為0),即:a{2}:=1+a{2};當for循環(huán)第一次,執行到自加語(yǔ)句的時(shí)候,其a{2}的結果應當是1啊,怎么這么多啊,就跟梯形圖里的add指令一樣,一接通使能,每個(gè)掃描周期加一次。而java語(yǔ)言里,for循環(huán)執行一次就加一次。求教如何使for循環(huán),每循環(huán)一次,自加的時(shí)候,語(yǔ)句只加一次呢
cvlsam
富士低壓,POD(觸摸屏),PLC專(zhuān)賣(mài)
級別: VIP會(huì )員

精華主題: 3 篇
發(fā)帖數量: 6808 個(gè)
工控威望: 38412 點(diǎn)
下載積分: 10098 分
在線(xiàn)時(shí)間: 9677(小時(shí))
注冊時(shí)間: 2006-09-13
最后登錄: 2025-06-06
查看cvlsam的 主題 / 回貼
1樓  發(fā)表于: 2019-04-21 15:46
因為start=1,那么每個(gè)掃描周期都在執行for循環(huán)………………

這不是SCL的坑,是程序員自己挖的坑啊,你這個(gè)程序,在JAVA中也是這個(gè)狀態(tài),你這個(gè)程序,在JAVA中不就是

while(start){
    for(int a[1]=1;a[1]<5;a[1]++){};
}

當start=1的時(shí)候………………

Good Luck~
愛(ài)笑的眼睛
級別: 實(shí)習會(huì )員
精華主題: 0
發(fā)帖數量: 3 個(gè)
工控威望: 46 點(diǎn)
下載積分: 673 分
在線(xiàn)時(shí)間: 6(小時(shí))
注冊時(shí)間: 2018-07-05
最后登錄: 2020-10-20
查看愛(ài)笑的眼睛的 主題 / 回貼
2樓  發(fā)表于: 2019-04-21 18:29
scl 用的是單步調試,點(diǎn)一下鼠標走一條語(yǔ)句。才走了半個(gè)循環(huán)呢,只走到加1的語(yǔ)句,后面的還沒(méi)執行,
下面的是用Java寫(xiě)的單步調試,不這樣啊

thanks
愛(ài)笑的眼睛
級別: 實(shí)習會(huì )員
精華主題: 0
發(fā)帖數量: 3 個(gè)
工控威望: 46 點(diǎn)
下載積分: 673 分
在線(xiàn)時(shí)間: 6(小時(shí))
注冊時(shí)間: 2018-07-05
最后登錄: 2020-10-20
查看愛(ài)笑的眼睛的 主題 / 回貼
3樓  發(fā)表于: 2019-04-21 20:42
圖片:
今晚寫(xiě)了個(gè)實(shí)驗程序:
用for  里面寫(xiě)
a【6】++,
執行完for后,
把a【6】的值送到輸出端(沒(méi)寫(xiě)a[6]的初始化),
執行完輸出語(yǔ)句  下一行
用if語(yǔ)句把fff的值置1,進(jìn)行輸出(目的是把調用他的塊en端關(guān)掉,結束掃描)

、、、、、、、、、、、、、、、、、、
最后實(shí)際輸出的值就根理論相同了。。。。
也就是1:scl的單步調試,不是按照cpu掃描周期走的,也就是你每走一步,cpu也許掃描了上萬(wàn)次。(根Java不太一樣,java單步調試只輸出一次)
2:plc的scl進(jìn)入掃描,由于沒(méi)有高級語(yǔ)言中的“return”進(jìn)行返回,所以他執行完語(yǔ)句的最后一條后,還會(huì )從頭再掃描。。。。也就造成了cpu每掃一次,for語(yǔ)句的就重復執行一次,這cpu如此掃描,就使for如此進(jìn)入重復執行的死循環(huán),,,,,,


thanks各位愛(ài)心大哥

夜夜躁日日躁狠狠久久|国产精品亚洲va在线观看|色天天天天综合男人的天堂|日本特黄特色aa大片免费|国产好痛疼轻点好爽的视频|欧美18school人禽杂交