張國(guó)良
級(jí)別: 探索解密
![]() |
有ABCD三個(gè)風(fēng)機(jī),觸摸屏上可以任意排序,比如A可以是一號(hào)可以是二號(hào)也可以是三號(hào)也可以是四號(hào),BCD同理,現(xiàn)在要求一號(hào)風(fēng)機(jī)開(kāi)10秒停5秒,然后二三四號(hào)依次運(yùn)行,如果是A是一號(hào)B是二號(hào),C是三號(hào),D是四號(hào)這樣固定好了可以寫(xiě)出來(lái),但是ABCD是任意排序的,如果下一次ABCD排序成2341,這樣應(yīng)該怎么寫(xiě),plc是三菱的 |
---|---|
|
flyfeky
bilibili 工控小工匠孔
級(jí)別: 論壇先鋒
![]() |
按道理, 這里有個(gè)數(shù)據(jù)結(jié)構(gòu) , 叫做隊(duì)列, 也就是先進(jìn)先出 。 可以自己實(shí)現(xiàn)隊(duì)列算法,如果有現(xiàn)成的也可以。 簡(jiǎn)單的可以如下,不算隊(duì)列算法,具體的啟停邏輯,我下面是不對(duì)的啊. 把 A/B/C/D 用數(shù)字1/2/3/4 分別放到存儲(chǔ)器 D1,D2,D3,D4 中,標(biāo)識(shí)這四個(gè)風(fēng)機(jī)。 多的話用數(shù)組和循環(huán),比如100個(gè)風(fēng)機(jī)。 Y1 Y2 Y3 Y4 表示輸出。 第一步要設(shè)置 D0 D1 D2 D3的值。 比如2341; / 1234 / 3412/ step的轉(zhuǎn)換條件 就是 時(shí)間到 step:=step+1; case step of 1 : IF D1=1 THEN Y1:=TRUE; // Y1通10S 停2s ELSE IF D1=2 THEN Y2:=TRUE; // Y2通10S 停2s ELSE IF D1=3 THEN Y3:=TRUE; // Y3通10S 停2s ELSE IF D1=4 THEN Y4:=TRUE; // Y4通10S 停2s END IF; 2 : IF D2=1 THEN Y1:=TRUE; ELSE IF D2=2 THEN Y2:=TRUE; ELSE IF D2=3 THEN Y3:=TRUE; ELSE IF D2=4 THEN Y4:=TRUE; END IF; 3: 4: end case; [ 此帖被flyfeky在2024-03-25 22:00重新編輯 ] |
|
---|---|---|
本帖最近評(píng)分記錄:
|