我好像是
大波就是我
級別: 家園常客
![]() |
圖片:
![]()
圖片:
![]() 24個指示燈,三菱PLC 三菱觸摸屏 上位機發送一個數據過來給PLC 控制。數據范圍0-24. 發送24過來,1-24個指示燈全部亮。 發送23,1-23個指示燈全部亮。發送6過來,1-6指示燈全部亮。發送0過來,全部不亮。如此類推。 有沒有簡單一點的辦法啊???一個一個判斷太麻煩了 ![]() ![]() ![]() ![]() |
---|---|
|
zouyunhuang
級別: 探索解密
![]() |
我瀏覽到這個帖子,也很感興趣,參照幾位樓上的方法。用SFTBL指令4行也可以,用循環FOR指令用了6行也可以,有個疑問8樓的2的N次方減1的方法,實在想不到怎么實現。在實現之余我努力尋找指令,有沒有可以直接類似“FMOV”指令一樣可以直接對bool元件直接進行處理的指令,如“FMOV K1 M0 K24,,這是我的假設指令",,后發現WORK3-R系列中有豐富的位處理指令,找到類似的指令為如下"BLKMOVB"名稱為N位數據傳送。后面我程序如下 1.LD SM400 DMOV HFFFFFF K6M1 LD<> D0 D2 BKRST M25 K24 SFTBL M1 K48 D0 MOV D0 D2 注釋:D0為上位機輸入。M25后24個為燈。D2為比較用。M1后24個為值1后面調用 2.LD<> D0 D2 MOV K0 V1 MOV D2 D0 左母線-------------------FOR D0 LD>= D0 K1V1 SET M1V1 INC V1 左母線-------------------next 注釋:D0為上位機輸入。M1后24個為燈。V1為計算變量 3. LD SM400 DMOV HFFFFFF K6M1 LD SM400 BKRST M101 K24 LD SM400 BLKMOVB M1 M101 D0 注釋:D0為上位機輸入。M101往后為24個燈。M1往后24個,為存儲值1后調用 |
---|---|
|
zouyunhuang
級別: 探索解密
![]() |
寫完后,看看后面的大神。佩服佩服。n次方那個,和反逆向那個受益匪淺。宏指令還不會 |
---|---|
|