我瀏覽到這個(gè)帖子,也很感興趣,參照幾位樓上的方法。用SFTBL指令4行也可以,用循環(huán)FOR指令用了6行也可以,有個(gè)疑問(wèn)8樓的2的N次方減1的方法,實(shí)在想不到怎么實(shí)現(xiàn)。在實(shí)現(xiàn)之余我努力尋找指令,有沒(méi)有可以直接類(lèi)似“FMOV”指令一樣可以直接對(duì)bool元件直接進(jìn)行處理的指令,如“FMOV K1 M0 K24,,這是我的假設(shè)指令",,后發(fā)現(xiàn)WORK3-R系列中有豐富的位處理指令,找到類(lèi)似的指令為如下"BLKMOVB"名稱(chēng)為N位數(shù)據(jù)傳送。后面我程序如下
1.LD SM400 DMOV HFFFFFF K6M1
LD<> D0 D2 BKRST M25 K24
SFTBL M1 K48 D0
MOV D0 D2
注釋?zhuān)篋0為上位機(jī)輸入。M25后24個(gè)為燈。D2為比較用。M1后24個(gè)為值1后面調(diào)用
2.LD<> D0 D2 MOV K0 V1
MOV D2 D0
左母線-------------------FOR D0
LD>= D0 K1V1 SET M1V1
INC V1
左母線-------------------next
注釋?zhuān)篋0為上位機(jī)輸入。M1后24個(gè)為燈。V1為計(jì)算變量
3. LD SM400 DMOV HFFFFFF K6M1
LD SM400 BKRST M101 K24
LD SM400 BLKMOVB M1 M101 D0
注釋?zhuān)篋0為上位機(jī)輸入。M101往后為24個(gè)燈。M1往后24個(gè),為存儲(chǔ)值1后調(diào)用