導航:首頁 > 編程語言 > 編程怎麼移位

編程怎麼移位

發布時間:2023-09-17 20:05:20

1. 台達plc移位指令

有計算機基礎知識、或學過匯編語言的,對PLC移位指令很好理解。而於上了年紀又無基礎者,則須通俗易懂地去解說。
今特把所述內容整理了一下,以供後續參考;目標PLC選用台達ES2。
1.循環移位的概念
1)用繩子將一列珠子串起來,然後將繩子兩頭系在一起,珠子就可構成一個環;若用手推動珠子,珠子就可以沿著繩子「循環」移動。
若選珠子為16顆、繩子足夠長,則可把環拉直,而使珠子排成一排;推動珠子仍可循環,但循環後仍使珠子成為一條直線。若假設這16顆珠子對應16位二進制數,這就相當於PLC中的一個數據「字」。
如果能通過某種方法,使「字」中的位像珠子一樣移動,那麼就是數據位「循環」;實現這種移動的指令,就是循環指令。
2)數據位的移動,與珠子的移動,當然不會完全相同;通常,在做循環移位運算時,會把移動的最末一位記入進位標志M1022。
當進位標志M1022不參與循環時,就稱為不帶進位,其指令就是不帶進位的指令;若進位標志M1022參與循環,就是帶進位循環,其指令就是帶進位循環指令。
2.PLC中的循環移位
1)循環右移一位的情況。參見附圖1,先使最右邊一位(b0位)為1,其餘為0。設每次循環右移一位,則移位一次後,「1」就被移出並轉移到了b15位。
同時,被移出的最末一位的值,將送到M1022;此處僅移一位,則就是原b0位→M1022。

為加深印象,下面結合具體的指令來進行講解。
2)循環右移4位的情況。參見附圖2,首先仍使b0位為1,其餘為0。移位一次後,原b0位的「1」,到了b12位。
但附圖2的「過程示意」並不準確;因為,數據的位並沒有被「移出」在外,而是如串在繩子上的珠子一般,逐位順序移動的。
此時,M1022的值,是原b3的值,因為它是被最末移出的。

3.一個簡單示例(ROR)
1)右循環移位指令ROR。該指令的目標元件www.plcs.cn,可以是字元件、也可以是由位組合成的字,故不妨使用K4M0來進行試驗,並通過D0來觀察其值(梯形圖監控時),程序參見附圖3。
PLC上電運行時,使M0置1,如附圖1的情況;接通一次X0,稍作延時後,M20接通一個脈沖周期,作為移位信號。接通X1,清零K4M0,相當於停止信號。
該程序,用台達WPLSoft編程軟體編制。

2)運行程序,監控梯形圖,D0顯示為H1(調整為十六進制顯示);第一次接通X0,D0顯示H8000,說明b15為1,其餘為0,與附圖1的演示相同。以後依此類推,其運行結果可參見附圖4。
第16次移位後,又回到了起始狀態,可以繼續下一個循環。

4.結語
這是一個非常簡單的介紹,不知對入門者有無參考作用。其餘移位指令,可仿此試驗理解。
本件可作為《自學自會PLC指令——三菱FX2N編程技術及應用》一書的補充材料。

閱讀全文

與編程怎麼移位相關的資料

熱點內容
安卓手機如何修改微信語音提示音 瀏覽:40
餐館購物一般用什麼app 瀏覽:184
京東飯粒app怎麼搜不到 瀏覽:65
哪個app可以使用數字人民幣 瀏覽:287
伺服器主板com口有什麼用 瀏覽:942
演算法的3種邏輯結構圖高一數學 瀏覽:58
如何獲得錢龍指標roc公式的源碼 瀏覽:675
為什麼要編譯源代碼 瀏覽:820
輸入法freetype交叉編譯 瀏覽:437
電阻單片機代號 瀏覽:469
來畫app怎麼添加對話框 瀏覽:318
python序列化分布式 瀏覽:107
域名伺服器是什麼形式 瀏覽:681
rsa加密解密速度快 瀏覽:924
mac電腦如何單片機開發 瀏覽:547
紀念日app怎麼用小插件 瀏覽:331
如何更改安卓手機所在地區 瀏覽:217
程序員負債120萬 瀏覽:80
階層pdf 瀏覽:380
linuxgit安裝配置 瀏覽:319