汪洋田君
干就完了!
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 63 個
工控威望: 253 點
下載積分: 1939 分
在線時間: 210(小時)
注冊時間: 2019-04-02
最后登錄: 2024-12-20
查看汪洋田君的 主題 / 回貼
樓主  發(fā)表于: 2023-11-03 19:18
圖片:
請假各位高手,西門子1200中字移位怎么處理?三菱中有字移位比較方面。
如下圖,我要實現(xiàn)下面的功能,每觸發(fā)一次,字符串數(shù)組中的的“OK”字符依次向下移位。
比如第一次觸發(fā):  判斷結(jié)果值[0]   “OK”        判斷結(jié)果值[1]  "OK"
       第二次觸發(fā):判斷結(jié)果值[0]   “OK”       判斷結(jié)果值[1]   “OK”        判斷結(jié)果值[2]  "OK"
       第三次觸發(fā):判斷結(jié)果值[0]   “OK”       判斷結(jié)果值[1]   “OK”        判斷結(jié)果值[2]  "OK"      判斷結(jié)果值[3]  "OK"  
      依次向下移位.........


請大家給我指點指點,謝謝。
[ 此帖被汪洋田君在2023-11-03 19:25重新編輯 ]
學無止境
13821917697
承接電氣自動化項目、電氣接線圖設計、IO點表、電氣元器件選型
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 758 個
工控威望: 3146 點
下載積分: 13444 分
在線時間: 1113(小時)
注冊時間: 2019-12-26
最后登錄: 2024-12-22
查看13821917697的 主題 / 回貼
1樓  發(fā)表于: 2023-11-03 20:03
圖片:
#R_TRIG_01(CLK := ("觸發(fā)"));

IF #R_TRIG_01.Q THEN
    #i := 0;
    #j := 0;
    FOR #i := 0 TO 10 DO
        IF "數(shù)據(jù)塊_1".判斷結(jié)果值[#i]='OK' THEN
            #j := #i;
        END_IF;
    END_FOR;
    "數(shù)據(jù)塊_1".判斷結(jié)果值[#j] := '';
    "數(shù)據(jù)塊_1".判斷結(jié)果值[#j + 1] := 'OK';
END_IF;

我想了個這個辦法 for循環(huán)遍歷一下,找到那個i  賦值給j,然后在改你字符串內(nèi)容
13821917697
承接電氣自動化項目、電氣接線圖設計、IO點表、電氣元器件選型
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 758 個
工控威望: 3146 點
下載積分: 13444 分
在線時間: 1113(小時)
注冊時間: 2019-12-26
最后登錄: 2024-12-22
查看13821917697的 主題 / 回貼
2樓  發(fā)表于: 2023-11-03 20:35
圖片:
不讓我發(fā) ????????????
#R_TRIG_01(CLK := ("觸發(fā)"));

IF #R_TRIG_01.Q THEN
    #i := 0;
    #j := 0;
    FOR #i := 0 TO 10 DO
        IF "數(shù)據(jù)塊_1".判斷結(jié)果值[#i] <> 'OK' THEN
            #j := #i;
            EXIT;
        END_IF;
    END_FOR;
    "數(shù)據(jù)塊_1".判斷結(jié)果值[#j] := 'OK';
END_IF;

我剛才理解錯了 我以為是只有一個OK下移呢,你那需不叫下移叫一個一個賦值,也是判斷一下中途跳出循環(huán)就行了
本帖最近評分記錄:
  • 下載積分:+3(guochunyi) 熱心助人!