




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數據處理、運算指令及應用
本章要點
數據傳送、移位、轉換指令的介紹、應用及實訓
算術運算、邏輯運算、遞增/遞減、填充指令指令的介紹、應用及實訓5.1數據處理指令5.1.1數據傳送指令1.字節、字、雙字、實數單個數據傳送指令MOVLADSTLMOVBIN,OUTMOVWIN,OUTMOVDIN,OUTMOVRIN,OUT【例5-1】將變量存儲器VW10中內容送到VW100中。LDI0.1MOVWVW10,VW1002.字節、字、雙字、實數數據塊傳送指令BLKMOVLADSTLBMBIN,OUT,NBMWIN,OUT,NBMDIN,OUT,N操作數及數據類型IN:VB,IB,QB,MB,SB,SMB,LB。OUT:VB,IB,QB,MB,SB,SMB,LB。 數據類型:字節IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AIW。OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AQW。數據類型:字IN/OUT :VD,ID,QD,MD,SD,SMD,LD。數據類型:雙字N:VB,IB,QB,MB,SB,SMB,LB,AC,常量;數據類型:字節;數據范圍:1-255功能使能輸入有效時,即EN=1時,把從輸入IN開始的N個字節(字、雙字)傳送到以輸出OUT開始的N個字節(字、雙字)中【例5-2】程序舉例:將變量存儲器VB20開始的4個字節(VB20-VB23)中的數據,移至VB100開始的4個字節中(VB100-VB103)。LDI0.0BMBVB20,VB100,4程序執行后,將VB20~VB23中的數據30、31、32、33送到VB100~VB103。執行結果如下:數組1數據 30 31 32 33數據地址 VB20 VB21VB22 VB23塊移動執行后:數組2數據 30 31 32 33數據地址VB100VB101VB102 VB1035.1.2移位指令及應用舉例1.左、右移位指令LADSTLSLBOUT,NSRBOUT,NSLWOUT,NSRWOUT,NSLDOUT,NSRDOUT,N說明:在STL指令中,若IN和OUT指定的存儲器不同,則須首先使用數據傳送指令MOV將IN中的數據送入OUT所指定的存儲單元。如:MOVBIN,OUTSLBOUT,N2.循環左、右移位指令LADSTLRLBOUT,NRRBOUT,NRLWOUT,NRRWOUT,NRLDOUT,NRRDOUT,N在STL指令中,若IN和OUT指定的存儲器不同,則須首先使用數據傳送指令MOV將IN中的數據送入OUT所指定的存儲單元。如:MOVBIN,OUTSLBOUT,N【例】程序應用舉例,將AC0中的字循環右移2位,將VW200中的字左移3位。【例】用I0.0控制接在Q0.0~Q0.7上的8個彩燈循環移位,從右到左以0.5s的速度依次點亮,保持任意時刻只有一個指示燈亮,到達最左端后,再從右到左依次點亮。LDSM0.1//首次掃描時MOVB1,QB0//置8位彩燈初態LDI0.0//T37產生周期為ANT370.5s的移位脈沖TONT37,+5
LDT37//每來一個脈沖RLBQB0,1彩燈循環左移1位3.移位寄存器指令(SHRB)SHRBDATA,S-BIT,N(1)移位寄存器指令SHRB將DATA數值移入移位寄存器。EN為使能輸入端,連接移位脈沖信號,每次使能有效時,整個移位寄存器移動1位。DATA為數據輸入端,連接移入移位寄存器的二進制數值,執行指令時將該位的值移入寄存器。S_BIT指定移位寄存器的最低位。N指定移位寄存器的長度和移位方向,移位寄存器的最大長度為64位,N為正值表示左移位,輸入數據(DATA)移入移位寄存器的最低位(S_BIT),并移出移位寄存器的最高位。(2)DATA和S-BIT的操作數為I,Q,M,SM,T,C,V,S,L。數據類型為:BOOL變量。N的操作數為VB,IB,QB,MB,SB,SMB,LB,AC,常量。數據類型為:字節。【例】移位寄存器應用舉例。LDI0.0EUSHRBI0.1,M10.0,+4【例】用PLC構成噴泉的控制。用燈L1~L12分別代表噴泉的12個噴水注。(1)控制要求:按下起動按鈕后,隔燈閃爍,L1亮0.5秒后滅,接著L2亮0.5秒后滅,接著L3亮0.5秒后滅,接著L4亮0.5秒后滅,接著L5、L9亮0.5秒后滅,接著L6、L10亮0.5秒后滅,接著L7、L11亮0.5秒后滅,接著L8、L12亮0.5秒后滅,L1亮0.5秒后滅,如此循環下去,直至按下停止按鈕。如圖5-8所示。(2)I/O分配輸入輸出(常開)起動按鈕:I0.0L1:Q0.0L5、L9:Q0.4(常閉)停止按鈕:I0.1L2:Q0.1L6、L10:Q0.5L3:Q0.2L7、L11:Q0.6L4:Q0.3L8、L12:Q0.7分析:應用移位寄存器控制,根據噴泉模擬控制的8位輸出(Q0.0~Q0.7),須指定一個8位的移位寄存器(M10.1~M11.0),移位寄存器的S-BIT位為M10.1,并且移位寄存器的每一位對應一個輸出。T38構成0.5s產生一個機器掃描周期脈沖的脈沖發生器第八個脈沖到來時M11.0置位為1,同時通過與T37并聯的M11.0常開觸點使M10.0置位為1T37(M10.0)延時0.5s導通一個掃描周期第八個脈沖到來時M11.0置位為1,同時通過與T37并聯的M11.0常開觸點使M10.0置位為15.1.3轉換指令
轉換指令是對操作數的類型進行轉換,并輸出到指定目標地址中去。轉換指令包括數據的類型轉換、數據的編碼和譯碼指令以及字符串類型轉換指令。不同功能的指令對操作數要求不同。類型轉換指令可將固定的一個數據用到不同類型要求的指令中,包括字節與字整數之間的轉換,整數與雙整數的轉換,雙字整數與實數之間的轉換,BCD碼與整數之間的轉換等。1.字節與字整數之間的轉換LADSTLBTIIN,OUTITBIN,OUT操作數及數據類型IN:VB,IB,QB,MB,SB,SMB,LB,AC,常量,數據類型:字節OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,數據類型:整數IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,常量,數據類型:整數OUT:VB,IB,QB,MB,SB,SMB,LB,AC,數據類型:字節功能及說明BTI指令將字節數值(IN)轉換成整數值,并將結果置入OUT指定的存儲單元。因為字節不帶符號,所以無符號擴展ITB指令將字整數(IN)轉換成字節,并將結果置入OUT指定的存儲單元。輸入的字整數0至255被轉換。超出部分導致溢出,SM1.1=1。輸出不受影響2.字整數與雙字整數之間的轉換LADSTLITDIN,OUTDTIIN,OUT操作數及數據類型IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,常量,數據類型:整數OUT:VD,ID,QD,MD,SD,SMD,LD,AC,數據類型:雙整數IN:VD,ID,QD,MD,SD,SMD,LD,HC,AC,常量,數據類型:雙整數OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,數據類型:整數功能及說明ITD指令將整數值(IN)轉換成雙整數值,并將結果置入OUT指定的存儲單元。符號被擴展DTI指令將雙整數值(IN)轉換成整數值,并將結果置入OUT指定的存儲單元。如果轉換的數值過大,則無法在輸出中表示,產生溢出SM1.1=1,輸出不受影響3.雙整數與實數之間的轉換LADSTLDTRIN,OUTROUNDIN,OUTTRUNCIN,OUT功能及說明DTR指令將32位帶符號整數IN轉換成32位實數,并將結果置入OUT指定的存儲單元ROUND指令按小數部分四舍五入的原則,將實數(IN)轉換成雙整數值,并將結果置入OUT指定的存儲單元TRUNC(截位取整)指令按將小數部分直接舍去的原則,將32位實數(IN)轉換成32位雙整數,并將結果置入OUT指定存儲單元4.BCD碼與整數的轉換LADSTLBCDIOUTIBCDOUT功能及說明BCD-I指令將二進制編碼的十進制數IN轉換成整數,并將結果送入OUT指定的存儲單元。IN的有效范圍是BCD碼0至9999I-BCD指令將輸入整數IN轉換成二進制編碼的十進制數,并將結果送入OUT指定的存儲單元。IN的有效范圍是0至9999LAD和STL指令中,IN和OUT的操作數地址相同。若IN和OUT操作數地址不是同一個存儲器,對應的語句表指令為:MOVINOUTBCDIOUT5.譯碼和編碼指令LADSTLDECOIN,OUTENCOIN,OUT操作數及數據類型IN:VB,IB,QB,MB,SMB,LB,SB,AC,常量。數據類型:字節OUT:VW,IW,QW,MW,SMW,LW,SW,AQW,T,C,AC。數據類型:字IN:VW,IW,QW,MW,SMW,LW,SW,AIW,T,C,AC,常量。數據類型: 字OUT:VB,IB,QB,MB,SMB,LB,SB,AC。數據類型:字節功能及說明譯碼指令根據輸入字節(IN)的低4位表示的輸出字的位號,將輸出字的相對應的位,置位為1,輸出字的其他位均置位為0編碼指令將輸入字(IN)最低有效位(其值為1)的位號寫入輸出字節(OUT)的低4位中【例】譯碼編碼指令應用舉例。LDI1.0DECOAC2,VW40//譯碼ENCOAC3,VB50//編碼若(AC2)=2,執行譯碼指令,則將輸出字VW40的第二位置1,VW40中的二進制數為2#0000000000000100;若(AC3)=2#0000000000000100,執行編碼指令,則輸出字節VB50中的碼為2。6.七段顯示譯碼指令LADSTL功能及操作數SEGIN,OUT功能:將輸入字節(IN)的低四位確定的16進制數(16#0~F),產生相應的七段顯示碼,送入輸出字節OUTIN:VB,IB,QB,MB,SB,SMB,LB,AC,常量。OUT:VB,IB,QB,MB,SMB,LB,AC。IN/OUT的數據類型:字節【例5】編寫顯示數字0的七段顯示碼的程序。LDI0.1SEG0,AC1程序運行結果為AC1中的值為16#3F(2#00111111)。5.1.4天塔之光的模擬控制實訓
1.實訓目的(1)掌握移位寄存器指令的應用方法(2)用移位寄存器指令實現天塔之光控制系統(3)掌握PLC的編程技巧和程序調試的方法
天塔之光控制示意圖2.控制要求如圖所示的天塔的燈光,可以用PLC控制燈光的閃耀移位及時序的變化等。控制要求如下:按起動按鈕,L12→L11→L10→L8→L1→L1、L2、L9→L1、L5、L8→L1、L4、L7→L1、L3、L6→L1→L2、L3、L4、L5→L6、L7、L8、L9→L1、L2、L6→L1、L3、L7→L1、L4、L8→L1、L5、L9→L1→L2、L3、L4、L5→L6、L7、L8、L9→L12→L11→L10……循環下去,直至按下停止按鈕。3.I/O分配輸入輸出起動按鈕:I0.0L1:Q0.0L4Q0.3L7:Q0.6L10Q1.1停止按鈕:I0.1L2:Q0.1L5Q0.4L8:Q0.7L11Q1.2L3:Q0.2L6Q0.5L9:Q1.0L12Q1.34.程序設計分析:根據燈光閃亮移位,分為19步,因此可以指定一個19位的移位寄存器(M10.1~M10.7,M11.0~M11.7,M12.0~M12.3),移位寄存器的每一位對應一步。而對于輸出,如:L1(Q0.0)分別在“5、6、7、8、9、10、13、14、15、16、17”步時被點亮,即其對應的移位寄存器位“M10.5、M10.6、M10.7、M11.0、M11.1、M11.2、M11.5、M11.6、M12.0、M12.1”置位為1時,Q0.0置位為1,所以需要將這些位所對應的常開觸點并聯后輸出Q0.0,以此類推其他的輸出。移位寄存器移位脈沖和數據輸入配合的關系、參考程序如圖所示。移位寄存器移位脈沖和數據輸入配合的關系5.2算術運算、邏輯運算指令5.2.1算術運算指令整數與雙整數加減法指令格式LADSTLMOVWIN1,OUT+IIN2,0UTMOVWIN1,OUT-IIN2,0UTMOVDIN1,OUT+DIN2,0UTMOVDIN1,OUT+DIN2,0UT功能IN1+IN2=OUTIN1-IN2=OUTIN1+IN2=OUTIN1-IN2=OUT如指定INI=OUT,則語句表指令為:+IIN2,OUT;如指定IN2=OUT,則語句表指令為:+IIN1,OUT。在整數減法的梯形圖指令中,可以指定IN1=OUT,則語句表指令為:-IIN2,OUT。【例】求5000加400的和,5000在數據存儲器VW200中,結果放入AC0。LDI0.0MOVWVW200,AC0//VW200→AC0+I+400,AC0//VW200+400=AC02.整數乘除法指令MOVWIN1,OUT*IIN2,0UTMOVWIN1,OUT/IIN2,0UTMOVDIN1,OUT*DIN2,0UTMOVDIN1,OUT/DIN2,0UTMOVWIN1,OUTMULIN2,OUTMOVWIN1,OUTDIVIN2,OUTIN1*IN2=OUTIN1/IN2=OUTIN1*IN2=OUTIN1/IN2=OUTIN1*IN2=OUTIN1/IN2=OUT【例】乘除法指令應用舉例LDI0.0MULAC1VD100DIVVW10VD200注意:因為VD100包含:VW100和VW102兩個字,VD200包含:VW200和VW202兩個字,所以在語句表指令中不需要使用數據傳送指令。3.實數加減乘除指令MOVDIN1,OUT+RIN2,0UTMOVDIN1,OUT-RIN2,0UTMOVDIN1,OUT*RIN2,0UTMOVDIN1,OUT/RIN2,0UTLDI0.0+RAC1,VD100/RVD100,AC04.數學函數變換指令SQRTIN,OUTLNIN,OUTEXPIN,OUTSININ,OUTCOSIN,OUTTANIN,OUT三角函數指令:將一個實數的弧度值IN分別求SIN、COS、TAN,得到實數運算結果,從OUT指定的存儲單元輸出。例如:求23=EXP(3*LN(2))=8;27的3次方根=271/3=EXP(1/3*LN(27))=3。操作數及數據類型:實數【例】求45o正弦值LDI0.1MOVR3.14159,AC1/R180.0,AC1*R45.0,AC1SINAC1,AC0分析:先將45o轉換為弧度:(3.14159/180)*45,再求正弦值。5.2.2邏輯運算指令ANDBIN1,OUTANDWIN1,OUTANDDIN1,OUTORBIN1,OUTORWIN1,OUTORDIN1,OUTXORBIN1,OUTXORWIN1,OUTXORDIN1,OUTINVBOUTINVWOUTINVDOUT【例】邏輯運算編程舉例//字節與操作LDI0.0ANDBVB1,VB2//字或操作MOVWVW100,VW300ORWVW200,VW300//雙字異或操作XORDAC0,AC1//字節取反操作MOVBVB5,VB6INVBVB6運算過程如下:VB1VB2VB200011100WAND11001101→00001100VW100VW200VW3000001110111111010WOR1110000011011100→1111110111111110VB5VB600001111INV111100005.2.3遞增、遞減指令遞增字節(字、雙字)和遞減字節指令在輸入字節(字、雙字)上加1或減1,并將結果置入OUT指定的變量中。遞增和遞減字節運算不帶符號。INCBOUTDECBOUTINCWOUTDECWOUTINCDOUTDECDOUT說明:(1)EN采用一個機器掃描周期的短脈沖觸發;使ENO=0的錯誤條件:SM4.3(運行時間),0006(間接地址),SM1.1溢出)(2)影響標志位:SM1.0(零),SM1.1(溢出),SM1.2(負數)。(3)在梯形圖指令中,IN和OUT可以指定為同一存儲單元,這樣可以節省內存,在語句表指令中不需使用數據傳送指令。5.2.4運算單位轉換實訓
1.實訓目的(1)掌握算術運算指令和數據轉換指令的應用。(2)掌握建立狀態表調試程序的方法及學會數據塊的使用。(3)掌握在工程控制中,進行運算單位轉換的的方法及步驟。2.實訓內容將英寸轉換成厘米,已知VW100的當前值為英寸的計數值,1英寸=2.54厘米。3.寫入程序、編譯并下載到PLC分析:將英寸轉換為厘米的步驟為:將VW100中的整數值英寸→雙整數英寸→實數英寸→實數厘米→整數厘米。//(VD4)=2.54LDSM0.1MOVR2.54,VD4//將計數器數值(英寸)載入AC1LDI0.0ITDVW100AC1//將數值轉換為實數DTRAC1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB32/T 3522.4-2019高速公路服務規范第4部分:清障救援服務
- DB32/T 3503-2019公路工程信息模型分類和編碼規則
- DB32/T 2799-2015共振法處理液化地基技術規程
- DB31/T 865-2014購物中心運營管理規范
- DB31/T 568-2011人身保險業窗口服務質量規范
- DB31/T 539-2020中小學校及幼兒園教室照明設計規范
- DB31/T 512-2021航空貨運代理企業倉儲場所安全技術防范系統要求
- DB31/T 327-2011寵物診療機構通用技術條件
- DB31/T 1275-2021服裝高級定制技術規范
- DB31/T 1198-2019硬質路面綠化用結構土配制和應用技術規范
- T-PPAC 701-2021 企業商業秘密管理規范
- 經絡腧穴學試題庫與參考答案
- 2025年保健按摩師(高級)資格認證考試題庫(附答案)
- 2024-2025人教七上數學26第3章代數式小結與復習【教案】
- 評估與反饋機制在教研中的重要性
- 供應商廉潔態發言材料
- 字節跳動經營分析報告
- 微信解除保全申請書
- 起重機委托使用協議書范本
- 中國電子鼻行業發展環境、市場運行格局及投資前景研究報告(2025版)
- 如何做好臨床兒科護理帶教
評論
0/150
提交評論