




已閱讀5頁(yè),還剩216頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章CP1HPLC的指令系統(tǒng),PLC所使用的各種指令的集合稱(chēng)為PLC的指令系統(tǒng)。各個(gè)廠家PLC的編程語(yǔ)言互不兼容。學(xué)習(xí)的時(shí)候要舉一反三、觸類(lèi)旁通。本章以CP1H為例,介紹PLC的指令系統(tǒng)。重點(diǎn)介紹梯形圖和指令表兩種編程語(yǔ)言。,CP1HPLC的指令系統(tǒng)由基本指令和高級(jí)指令組成?;局噶畎ǎ狠斎?、輸出、定時(shí)、計(jì)數(shù)高級(jí)指令包括:比較類(lèi)指令、傳送類(lèi)指令、移位類(lèi)指令、轉(zhuǎn)換類(lèi)指令、運(yùn)算類(lèi)指令、通信類(lèi)指令等。,3.1PLC的編程語(yǔ)言梯形圖語(yǔ)言,簡(jiǎn)單、形象。IEC1131-3定義了5種PLC編程語(yǔ)言:梯形圖LD指令表IL功能塊圖FBD結(jié)構(gòu)文本ST順序功能圖SFC,1.梯形圖傳統(tǒng)的電氣控制系統(tǒng)電路的基礎(chǔ)上演變而來(lái)的PLC的第一用戶(hù)語(yǔ)言圖形符號(hào):常開(kāi)觸點(diǎn)、常閉觸點(diǎn)、線(xiàn)圈。常開(kāi)、常閉條件執(zhí)行條件操作數(shù)邏輯塊,2.指令表用助記符表示指令的功能格式:語(yǔ)句步、操作碼、操作數(shù),LD00000OR10000ANDNOT00001OUT10000,梯形圖程序語(yǔ)句表程序,關(guān)于操作數(shù)的討論操作數(shù)可以是通道號(hào)、繼電器號(hào)或常數(shù)。操作數(shù)的個(gè)數(shù),取決于各種指令的需要。操作數(shù)設(shè)為常數(shù)時(shí),在數(shù)據(jù)前面要加#號(hào)。操作數(shù)采用哪種進(jìn)制,取決于指令的需要。例如,計(jì)數(shù)器指令的格式為CNT000SVSV:#200、200、DM200、*DM200等區(qū)別,指令的微分、非微分形式微分型:要在指令的助記符前加標(biāo)記。如:MOV#100DM0001兩種指令的區(qū)別非微分型指令:只要其執(zhí)行條件為ON,每個(gè)掃描周期都執(zhí)行該指令。微分型指令:僅在指令的執(zhí)行條件由OFF變?yōu)镺N時(shí)才執(zhí)行一次。,3.2基本指令系統(tǒng)基本指令是最常用的指令。要牢記:指令的功能、格式、符號(hào)和代碼;指令操作數(shù)的范圍。,一、常用的基本指令1LDLDNOTANDANDNOTORORNOTOUTOUTNOTLD(取指令)常開(kāi)觸點(diǎn)與母線(xiàn)相連的指令A(yù)ND(與指令)常開(kāi)觸點(diǎn)相與(串聯(lián))的指令OR(或指令)常開(kāi)觸點(diǎn)相或(并聯(lián))的指令OUT(輸出指令)將執(zhí)行結(jié)果輸出到某位的指令,操作數(shù)說(shuō)明:0000001915(OUT不用)、1000011915、W000025507、H00001915、TIM/CNT00004095、TR0015(僅能使用于LD指令);AR區(qū)部分位、標(biāo)志位等可以作為觸點(diǎn)操作數(shù);基本邏輯指令不影響標(biāo)志位。,例:,LD00000OR10000ANDNOT00001OUT10000,LD00000OR10000ANDNOT00001OUT10000LDNOT00002ORNOT00003AND10000OUTNOT10001,梯形圖程序,語(yǔ)句表程序,使用指令舉例,2END指令程序的結(jié)尾一定要安排END指令,否則程序不執(zhí)行。FUNNo功能號(hào)是在用編程器編程時(shí),除了基本邏輯指令外,絕大多數(shù)指令都賦予一個(gè)功能號(hào),若要使用某個(gè)指令時(shí),只按相應(yīng)的功能號(hào)即可。執(zhí)行END指令時(shí),ER、CY、GR、EQ、LE等標(biāo)志位被置OFF。,3NOP指令NOP是空操作指令,用NOP代替ANDN,可把AND語(yǔ)句中的觸點(diǎn)N短接,用NOP代替ORN,可把OR語(yǔ)句中的觸點(diǎn)N斷掉。,二、塊與指令A(yù)NDLD和塊或指令ORLD1.ANDLD是將并聯(lián)觸點(diǎn)組相串聯(lián)的指令,方法1LD00000AND00001ORNOT00002LD00003OR00004ANDLDLD00005ORNOT00006ANDLDOUT10000,方法2LD00000AND00001ORNOT00002LD00003OR00004LD00005ORNOT00006ANDLDANDLDOUT10000,在方法2中,ANDLD之前的觸點(diǎn)組個(gè)數(shù)應(yīng)小于等于8,使用指令舉例,2.ORLD是串聯(lián)觸點(diǎn)組相并聯(lián)連接的指令,方法1LD00000ANDNOT00001LDNOT00002AND00005ORLDLD00004AND00003ORLDOUT10100,方法2LD00000ANDNOT00001LDNOT00002AND00005LD00004AND00003ORLDORLDOUT10100,在方法2中,ORLD之前的觸點(diǎn)組個(gè)數(shù)應(yīng)小于等于8,使用指令舉例,微分指令與即時(shí)刷新指令普通指令輸入輸出執(zhí)行在I/O刷新階段。微分指令:上微分、下微分%微分指令在執(zhí)行條件變化(上微分、下微分)時(shí)執(zhí)行。即時(shí)刷新指令:!即時(shí)刷新指令不等I/O刷新階段立即執(zhí)行。,I/O刷新,執(zhí)行指令點(diǎn),2.00,100.00,100.00,100.00,100.00,100.00,三、微分指令DIFU和DIFDDIFU上升沿微分指令和DIFD下降沿微分指令,DIFU和DIFD指令的操作位只ON一個(gè)掃描周期。,開(kāi)機(jī)時(shí)就OFF的執(zhí)行條件,DIFD指令不執(zhí)行。,TS,TS,LD00005DIFU10000DIFDH00000,掃描周期,執(zhí)行條件,開(kāi)機(jī)時(shí)就ON的執(zhí)行條件,DIFU指令不執(zhí)行。,四、置位指令SET和復(fù)位指令RESETSET將某繼電器置為ONRESET將某繼電器置為OFF,LD00000SET10000LD00003RESET10000,SET、RESET指令的執(zhí)行條件常為短信號(hào)(脈沖信號(hào)),SET和RESET指令可以單獨(dú)使用(不一定成對(duì)使用),五、保持KEEP指令,當(dāng)S端ON時(shí),N為ON且保持。,當(dāng)N為保持繼電器HR時(shí),有保持功能。,當(dāng)R端ON時(shí),N復(fù)位。,當(dāng)S與R端同時(shí)為ON時(shí),N復(fù)位優(yōu)先。,繼電器位,LD00002LD00003KEEP10000,KEEP指令的工作時(shí)序,置位和復(fù)位條件都可以是短信號(hào)(脈沖信號(hào)),語(yǔ)句表,畫(huà)出圖示程序的工作時(shí)序,寫(xiě)出語(yǔ)句表。,使用KEEP指令舉例,比較幾個(gè)相同具有功能程序之區(qū)別,相同,都可以實(shí)現(xiàn)啟、保、停的控制,不同,KEEP編程需3條語(yǔ)句(最少),KEEP編程用HR作輸出時(shí),具有保持功能。,SET和RESET編程時(shí),指令間可插別的指令。,SET和RESET編程HR作輸出時(shí),有保持功能。,六、基本編程規(guī)則和基本編程方法,1基本編程規(guī)則,(1)每梯級(jí)都起始于左母線(xiàn),線(xiàn)圈或指令應(yīng)畫(huà)在最右邊,(2)必須與左母線(xiàn)相連的線(xiàn)圈或指令,可通過(guò)P_ON連接,(3)用OUT指令輸出時(shí),要避免雙線(xiàn)圈輸出的現(xiàn)象。,輸出無(wú)效,雙線(xiàn)圈輸出引起邏輯混亂,(4)梯形圖必須遵循從左到右、從上到下的順序,不允許兩行之間垂直連接觸點(diǎn)。,(5)程序結(jié)束一定要安排END指令,否則程序不被執(zhí)行,沒(méi)END指令的程序,檢查時(shí)顯示信息“NOENDINST”,2基本編程方法,(1)兩個(gè)或兩個(gè)以上的線(xiàn)圈或指令可以并聯(lián)輸出。,(2)觸點(diǎn)組與單個(gè)觸點(diǎn)并聯(lián),單個(gè)觸點(diǎn)應(yīng)放在下面。,LD00000LD00001ANDNOT00002ORLDOUT10100,LD00001ANDNOT00002OR00000OUT10100,(3)并聯(lián)觸點(diǎn)組與幾個(gè)觸點(diǎn)串聯(lián)時(shí),并聯(lián)觸點(diǎn)組應(yīng)放在最左邊。,LD00002AND00000LD00006AND00001OR00003ANDLDOUT10001,LD00006AND00001OR00003AND00002AND00000OUT10001,此后,如果00001ON使10000復(fù)位,則在PLC本次上電期間,10000不會(huì)再被置位(即KEEP不再執(zhí)行)。,(4)如果一條指令只需在PLC上電之初執(zhí)行一次,可以用P_first_cycle作為其執(zhí)行條件。,PLC上電后的第一個(gè)掃描周期,10000被置為ON。,(5)結(jié)構(gòu)復(fù)雜的梯形圖程序,重新安排順序后,可方便編寫(xiě)語(yǔ)句表。,(6)當(dāng)某梯級(jí)有兩個(gè)分支時(shí),若其中一條分支從分支點(diǎn)到輸出線(xiàn)圈之間無(wú)觸點(diǎn),該分支應(yīng)放在上方。,(7)盡量使用那些操作數(shù)少、執(zhí)行時(shí)間短的指令編程。,基本指令小結(jié),1.本節(jié)介紹的全部指令都要牢記其格式、梯形圖、操作數(shù)范圍及功能。,2.學(xué)會(huì)將梯形圖程序轉(zhuǎn)換為語(yǔ)句表的方法。,4.牢記基本編程規(guī)則和基本編程方法。,3.學(xué)會(huì)用工作時(shí)序圖描述程序執(zhí)行過(guò)程的方法。,3.3定時(shí)器計(jì)數(shù)類(lèi)指令,使用TIM/CNT注意事項(xiàng),TIM/CNT使用編號(hào)T00004095/C00004095。,TIM/CNT的操作數(shù)可以是常數(shù),也可以是通道,但常數(shù)或通道內(nèi)容必須是BCD數(shù)。,計(jì)數(shù)器有保持功能,而定時(shí)器沒(méi)有此功能。,TIM/CNT的設(shè)定值是通道時(shí),通道內(nèi)容改變、設(shè)定值即改變。但必須在TIM的輸入條件斷開(kāi)、CNT復(fù)位后,下一次定時(shí)/計(jì)數(shù)才執(zhí)行新設(shè)定值。,1.定時(shí)器TIM/TIMH,TIM普通定時(shí)器定時(shí)時(shí)間為0999.9s,TIMH高速定時(shí)器定時(shí)時(shí)間為099.99s,N:0004095(TIM與TIMH共用這些編號(hào)),SV:09999單位:TIM為0.1s;TIMH為0.01s,定時(shí)器ON后,若執(zhí)行條件OFF,定時(shí)器復(fù)位。,當(dāng)掃描時(shí)間Ts0.1秒時(shí),TIM會(huì)不準(zhǔn)確;當(dāng)Ts0.01秒時(shí),TIMH會(huì)不準(zhǔn)確。,定時(shí)器的功能,當(dāng)執(zhí)行條件ON時(shí)開(kāi)始定時(shí),定時(shí)過(guò)程中執(zhí)行條件要保持ON。,定時(shí)時(shí)間到,定時(shí)器ON、其所屬觸點(diǎn)動(dòng)作。此后只要執(zhí)行條件保持ON,其ON狀態(tài)保持。,定時(shí)器ON后,若PLC斷電,定時(shí)器復(fù)位。,當(dāng)定時(shí)器復(fù)位時(shí),其當(dāng)前值為設(shè)定值。,定時(shí)器TIM、TIMH的用法,LD00000TIM0#0050LDT0OUT10000,TIM定時(shí)時(shí)間:500.1=5s,開(kāi)始定時(shí),定時(shí)到,定時(shí)器復(fù)位,對(duì)TIMH計(jì)算:500.01=0.5s,分析程序?qū)€(xiàn)圈10000的控制,00000對(duì)應(yīng)啟動(dòng)按鈕、00001對(duì)應(yīng)停車(chē)按鈕。,按下啟動(dòng)按鈕線(xiàn)圈00000ON,線(xiàn)圈W00000ON,閉合,閉合,閉合,觸點(diǎn)W00000閉合,TIM0001開(kāi)始定時(shí),經(jīng)過(guò)5s,TIM0001ON,觸點(diǎn)T0001閉合,線(xiàn)圈10000ON,觸點(diǎn)00000閉合,定時(shí)器定時(shí)功能例(1),自按下啟動(dòng)按鈕5s后線(xiàn)圈10000ON,線(xiàn)圈10000ON期間按下停車(chē)按鈕,線(xiàn)圈00001通電,線(xiàn)圈W00000斷電,斷開(kāi),TIM0001復(fù)位,斷開(kāi),斷開(kāi),觸點(diǎn)00001斷開(kāi),觸點(diǎn)W00000斷開(kāi),觸點(diǎn)T0001斷開(kāi),線(xiàn)圈10000OFF,按下停車(chē)按鈕,線(xiàn)圈10000OFF,自按下啟動(dòng)按鈕5s后線(xiàn)圈10000ON,分析程序?qū)?0000的控制作用。,00000閉合W00000接通,10秒到TIM0001ON,TIM0001自復(fù)位!,設(shè)H0000中數(shù)據(jù)為0100,TIM0001的定時(shí)值為10秒。,TIM0001開(kāi)始定時(shí),閉合,線(xiàn)圈10000ON,閉合,斷開(kāi),欲保持10000ON需加自鎖,自鎖,定時(shí)器定時(shí)功能例(2),常開(kāi)觸點(diǎn)T0001ON,常閉觸點(diǎn)T0001OFF,斷開(kāi),TIM0001自復(fù)位后,即開(kāi)始下一輪定時(shí)。,當(dāng)改變通道H0000中的內(nèi)容時(shí),TIM的設(shè)定值即改變!,在10000ON期間,若線(xiàn)圈00001ON,線(xiàn)圈W00000斷電,TIM0001復(fù)位,線(xiàn)圈10000OFF,斷開(kāi),斷開(kāi),斷開(kāi),觸點(diǎn)00001斷開(kāi),但需TIM復(fù)位后、下一次定時(shí)才執(zhí)行新設(shè)定值,分析程序?qū)?0000的控制作用。,自00000ON線(xiàn)圈W00000ON,900秒到TIM0001ON,900秒到TIM0002ON,定時(shí)器級(jí)聯(lián)使用SV=SV1+SV2,TIM0002開(kāi)始定時(shí),線(xiàn)圈10000ON,TIM0001開(kāi)始定時(shí),定時(shí)器定時(shí)時(shí)間的擴(kuò)展,閉合,閉合,閉合,練習(xí):寫(xiě)出梯形圖的語(yǔ)句表。,LD00000,ORW00000,ANDNOT00001,OUTW00000,LDW00000,TIM0001#9000,LDT0001,TIM0002#9000,LDT0002,OUT10000,關(guān)于接通延時(shí)ON和接通延時(shí)OFF的控制,LD00000IL(02)TIM0000#0600LDT0000OUT10000LDNOTT0000OUT10001ILC(03),自00000為ON開(kāi)始10000經(jīng)過(guò)60秒接通,自00000為ON開(kāi)始10001經(jīng)過(guò)60秒斷開(kāi),接通延時(shí)ON,接通延時(shí)OFF,根據(jù)00000和00001的波形,畫(huà)出程序的工作時(shí)序。,使用KEEP、TIM指令舉例,2.計(jì)數(shù)器指令CNT,N:00004095SV:BCD09999,CP:計(jì)數(shù)輸入端(每輸入一個(gè)脈沖,CNT計(jì)一個(gè)數(shù)),R:復(fù)位端(R端ON時(shí)計(jì)數(shù)器復(fù)位,即CNT清零),CNTON后,若輸入條件OFF,或PLC斷電,計(jì)數(shù)器當(dāng)前值能保持。,CNTON后,此后輸入的計(jì)數(shù)脈沖無(wú)效。,計(jì)數(shù)器的用法,計(jì)數(shù)器的SV值可以是常數(shù),也可以是通道號(hào)。,計(jì)數(shù)達(dá)到設(shè)定值時(shí)CNTON、其所屬接點(diǎn)動(dòng)作。,計(jì)數(shù)器ON后,只要不清零,CNT將保持ON。,當(dāng)計(jì)數(shù)器復(fù)位時(shí),其當(dāng)前值為設(shè)定值。,PV=10,PV=10,(停止計(jì)數(shù)),計(jì)數(shù),計(jì)數(shù),(停止計(jì)數(shù)),CNT是減計(jì)數(shù)器,每輸入一個(gè)計(jì)數(shù)脈沖,由SV值減1。,計(jì)數(shù)器的工作時(shí)序,98210,ON保持,98210,ON保持,SV=10時(shí)CNT的工作波形,清零,清零,CNT的計(jì)數(shù)功能舉例,分析程序?qū)?0000的控制作用。,00000每通斷一次,向CNT000輸入一個(gè)計(jì)數(shù)脈沖。,00000通斷3次,CNT0000ON,線(xiàn)圈10000ON,閉合,閉合,斷開(kāi),此后若觸點(diǎn)00001ON,CNT0000復(fù)位,線(xiàn)圈10000OFF,CNT0000斷電再?gòu)?fù)電時(shí),能保持?jǐn)嚯娗暗漠?dāng)前值。,若將#0003換成200,則計(jì)數(shù)值是通道200中的數(shù)據(jù)。,寫(xiě)出梯形圖程序的語(yǔ)句表,LD00000LD00001CNT0000#0003LDC0000OUT10000,SV為常數(shù),CNT0000計(jì)數(shù)器的工作時(shí)序,210,ON保持,CNT0000采用自清零。,每當(dāng)CNT0000計(jì)數(shù)設(shè)定值到:,當(dāng)CNT0001計(jì)數(shù)到,10000ON。,00000通斷了10000次時(shí)10000ON,計(jì)數(shù)器級(jí)聯(lián)SV=SV1SV2,a.向CNT0001輸入一個(gè)計(jì)數(shù)脈沖。,b.自清零、并開(kāi)始下一輪計(jì)數(shù)。,計(jì)數(shù)器容量的擴(kuò)展,上電之初P_First_Cycle為兩個(gè)計(jì)數(shù)器清零。,自清零,分析程序?qū)?0000的控制作用。,P_1s能產(chǎn)生周期為1秒的脈沖,CNT0000完成計(jì)數(shù)100所經(jīng)歷的時(shí)間是100秒。,計(jì)數(shù)器作為定時(shí)器使用,用計(jì)數(shù)器作定時(shí)器時(shí),該定時(shí)器具有保持功能。,經(jīng)歷10000秒后10000ON,計(jì)數(shù)器的定時(shí)器功能,CNT0001完成計(jì)數(shù)100所經(jīng)歷的時(shí)間是10000秒。,3.可逆計(jì)數(shù)器指令CNTR,SV:設(shè)定值(BCD09999),加計(jì)數(shù)輸入,復(fù)位端,減計(jì)數(shù)輸入,N:編號(hào)(與CNT共用00004095),加/減計(jì)數(shù)有進(jìn)/借位時(shí),輸出ON一個(gè)計(jì)數(shù)脈沖周期。,計(jì)數(shù)器復(fù)位時(shí),不論是加還是減計(jì)數(shù),其PV均為0。,從ACP或SCP輸入計(jì)數(shù)脈沖,可組成加或減計(jì)數(shù)器。,可逆計(jì)數(shù)器可作為循環(huán)計(jì)數(shù)器。,可逆計(jì)數(shù)器的功能,計(jì)數(shù)器達(dá)到設(shè)定值ON時(shí),若再來(lái)一個(gè)計(jì)數(shù)脈沖,CNTROFF、且開(kāi)始下一個(gè)循環(huán)的計(jì)數(shù)。,從ACP和SCP端同時(shí)輸入計(jì)數(shù)脈沖,計(jì)數(shù)器不計(jì)數(shù)。,可逆計(jì)數(shù)器的工作時(shí)序,可逆計(jì)數(shù)器的計(jì)數(shù)功能舉例,設(shè)00003OFF、00002OFF,00001輸入計(jì)數(shù)脈沖。,加計(jì)數(shù)器,00001每輸入一個(gè)計(jì)數(shù)脈沖,CNTR046的當(dāng)前值加1。,當(dāng)PV=0200時(shí),再輸入一個(gè)計(jì)數(shù)脈沖,PV值變?yōu)?000(進(jìn)位),同時(shí)CNTR046變?yōu)镺N。,此后再來(lái)一個(gè)計(jì)數(shù)脈沖時(shí),PV值變?yōu)?001,CNTR046為OFF,且開(kāi)始下一個(gè)循環(huán)的計(jì)數(shù)。,減計(jì)數(shù)器,設(shè)00003OFF、00001OFF,00002輸入計(jì)數(shù)脈沖。,00002每輸入一個(gè)計(jì)數(shù)脈沖,CNTR046的當(dāng)前值減1。,當(dāng)PV=0000時(shí),再輸入一個(gè)計(jì)數(shù)脈沖,PV值變?yōu)?200(借位),同時(shí)CNTR046變?yōu)镺N。,此后再來(lái)一個(gè)計(jì)數(shù)脈沖時(shí),PV=0199,CNTR046為OFF,且開(kāi)始下一個(gè)循環(huán)的計(jì)數(shù)。,可逆計(jì)數(shù)器的定時(shí)器功能舉例,LD00000ORW00000OUTW00000LDP_1sANDW00000LDP_OffLD00001ORP_First_CycleCNTR0000H0000LDC0000OUT10000,CNTR000是加計(jì)數(shù)器,控制位,秒脈沖,常OFF,上電復(fù)位,CNTR0000的觸點(diǎn),由于計(jì)數(shù)脈沖是秒脈沖,所以可作定時(shí)器。,設(shè)00001為OFF,H0000中數(shù)據(jù)是500,分析功能。,自00000ON開(kāi)始,CNTR0000開(kāi)始計(jì)數(shù),計(jì)數(shù)達(dá)500CNTR0000ON,閉合,即經(jīng)過(guò)500秒線(xiàn)圈10000ON,PLC上電,計(jì)數(shù)器即復(fù)位。,CNTR0000的觸點(diǎn)ON,線(xiàn)圈10000ON,再過(guò)1秒,線(xiàn)圈10000又OFF,CNTR0000開(kāi)始下一循環(huán)計(jì)數(shù),線(xiàn)圈10000每過(guò)500秒ON1秒,4.定時(shí)器/計(jì)數(shù)器復(fù)位指令CNR,D1:定時(shí)器/計(jì)數(shù)器首編號(hào)(T/C00004095),D2:定時(shí)器/計(jì)數(shù)器首編號(hào)(T/C00004095),D1、D2必須在同一區(qū)域,并且D1D2,功能:D1到D2的定時(shí)器/計(jì)數(shù)器完成標(biāo)志復(fù)位,當(dāng)前值置PV為最大值9999。,定時(shí)計(jì)數(shù)類(lèi)指令小結(jié),1.本節(jié)介紹的應(yīng)用指令都經(jīng)常使用,要牢記其格式、梯形圖、操作數(shù)范圍及功能。,2.注意定時(shí)計(jì)數(shù)類(lèi)指令的編號(hào)方法、量程和定時(shí)精度。,3.注意使用定時(shí)計(jì)數(shù)類(lèi)指令的起始時(shí)間點(diǎn)、到時(shí)時(shí)間點(diǎn)、復(fù)位時(shí)間點(diǎn)。,4.學(xué)會(huì)用時(shí)序圖描述定時(shí)器、計(jì)數(shù)器工作狀態(tài)的方法。,5.學(xué)會(huì)定時(shí)器和計(jì)數(shù)器容量擴(kuò)展的編程方法。,聯(lián)鎖和聯(lián)鎖清除指令,暫存繼電器,跳轉(zhuǎn)和跳轉(zhuǎn)結(jié)束指令,3.4程序控制類(lèi)指令,結(jié)束和空操作指令,1.暫存繼電器TR,暫存繼電器用于暫時(shí)存儲(chǔ)指令執(zhí)行的結(jié)果。,暫存繼電器編號(hào)TR0TR15,對(duì)暫存繼電器作如下說(shuō)明:,1.在同一分支程序段中,TR號(hào)不能重復(fù)使用。,2.TR不是編程指令,要與其他指令配合使用。,用暫存繼電器可以處理梯形圖的分支。,LD00000OUTTR0AND00001OUT10000LDTR0AND00002OUT10001,說(shuō)明:,編寫(xiě)梯形圖程序時(shí)出現(xiàn)分支時(shí),系統(tǒng)自動(dòng)分配TR015作為分支點(diǎn)狀態(tài)暫存繼電器。,使用暫存繼電器舉例,使用時(shí)配合OUT、LD等基本指令使用。,2.聯(lián)鎖和聯(lián)鎖清除指令I(lǐng)L/ILC,IL/ILC的用法,(1)不論IL的輸入條件是ON還是OFF,CPU都要對(duì)IL/ILC之間的程序段進(jìn)行掃描。,(2)只有當(dāng)IL的執(zhí)行條件為ON時(shí),IL和ILC之間的程序執(zhí)行(否則不執(zhí)行)。此時(shí)IL和ILC間各器件的狀態(tài)為:所有OUT指令的輸出位為OFF;所有定時(shí)器都復(fù)位。,(3)IL和ILC指令可以成對(duì)使用,也可以多個(gè)IL指令配一個(gè)ILC指令,但不準(zhǔn)嵌套使用。,LD00000IL(02)LD00001OUT10000LD00002ANDNOT00003OUT10001ILC(03)LD00004OUT10002,當(dāng)00000為ON時(shí),IL(02)與ILC之(03)間的程序執(zhí)行:,10000和10001的狀態(tài),取決于A右側(cè)各觸點(diǎn)的狀態(tài)。,使用聯(lián)鎖指令舉例,LD00000IL(02)LD00001OUT10000LD00002IL(02)LD00003OUT10001LD00004OUT10002ILC(03)LD00005OUT10003,連續(xù)分支的例子,LD00000OUTTR0AND00001OUT10000LDTR0AND00002OUT10001,LD00000IL(02)LD00001OUT10000LD00002OUT10001ILC(03),用TR處理分支,用IL/ILC處理分支,兩種處理分支方法的區(qū)別,用TR時(shí):用AND指令連接下一個(gè)分支的觸點(diǎn),在分支多時(shí),用TR處理分支程序要煩瑣一些。,用IL/ILC時(shí):用LD指令連接下一個(gè)分支的觸點(diǎn),3.跳轉(zhuǎn)和跳轉(zhuǎn)結(jié)束指令JMP/JME,JMP(04)/JME(05)N(跳轉(zhuǎn)編號(hào)0FF),JMP/JME的用法,發(fā)生跳轉(zhuǎn)時(shí),JMPN和JMEN之間的程序不執(zhí)行,且不占用掃描時(shí)間。,(2)發(fā)生跳轉(zhuǎn)時(shí)所有繼電器、定時(shí)器、計(jì)數(shù)器均保持跳轉(zhuǎn)前的狀態(tài)不變。,(3)同一個(gè)跳轉(zhuǎn)號(hào)N只能在程序中使用一次。但當(dāng)N取00時(shí),JMP00/JME00可以在程序中多次使用。,LD00000JMP(04)00LD00001OUT10000AND00002OUT10100JME(05)00LD00003OUT10004,(4)以00作為跳轉(zhuǎn)號(hào)時(shí),比其他跳轉(zhuǎn)號(hào)的執(zhí)行時(shí)間長(zhǎng)。,(5)不同跳轉(zhuǎn)號(hào)時(shí)可以嵌套使用。,例如:JMP00JMP01JME01JME00,當(dāng)00000為ON時(shí),JMP與JME之間的程序執(zhí)行。,10000和10100的狀態(tài),取決于其輸入條件的狀態(tài)。,使用跳轉(zhuǎn)指令舉例,(6)多個(gè)JMP可以共用一個(gè)JME,00000OFF、00001OFF時(shí):,只執(zhí)行程序C,00000ON、00001OFF時(shí):,執(zhí)行程序A程序C,00000ON、00001ON時(shí):,執(zhí)行程序A程序B程序C,JMP/JME指令的用途舉例,00000對(duì)應(yīng)一操作開(kāi)關(guān),執(zhí)行手動(dòng)操作程序,當(dāng)00000為OFF時(shí),執(zhí)行自動(dòng)操作程序,當(dāng)00000為ON時(shí),用一個(gè)開(kāi)關(guān),實(shí)現(xiàn)對(duì)系統(tǒng)自動(dòng)和手動(dòng)操作的控制。,0.00,0.02,100.1,100.2,100.3,100.4,IL/ILC與JMP/JME指令的共性,1.對(duì)IL/ILC與JMP/JME指令之間的程序段:,不論IL的執(zhí)行條件OFF還是ON,CPU都對(duì)IL和ILC之間的程序段掃描。,當(dāng)發(fā)生跳轉(zhuǎn)時(shí),JMPN和JMEN之間的程序不執(zhí)行,且CPU不對(duì)其掃描。,IL/ILC與JMP/JME指令的區(qū)別,它們都具有控制程序執(zhí)行流向的作用。,對(duì)IL/ILC之間的程序段:所有OUT指令的輸出位為OFF;所有定時(shí)器都復(fù)位;KEEP指令的操作位、計(jì)數(shù)器、移位寄存器以及SET和RSET指令的操作位,都保持IL為OFF以前的狀態(tài)。,對(duì)JMP/JME之間的程序段:發(fā)生跳轉(zhuǎn)時(shí)所有繼電器、定時(shí)器、計(jì)數(shù)器均保持跳轉(zhuǎn)前的狀態(tài)不變。,2.當(dāng)IL和JMP的執(zhí)行條件不滿(mǎn)足時(shí):,程序指令小結(jié),1.注意分支梯形程序轉(zhuǎn)化成指令表的方法。,2.IL/ILC和JMP/JME是控制程序執(zhí)行流向的指令,要注意區(qū)別兩種指令的用法。,移位寄存器指令,可逆移位寄存器指令,數(shù)字左、右移指令,算術(shù)左、右移指令,循環(huán)左、右移指令,字移位指令,異步移位寄存器指令,1.移位寄存器指令SFT(10),功能,當(dāng)復(fù)位端R為OFF時(shí),在CP端移位脈沖的作用下,IN端的數(shù)據(jù)被移入移位寄存器。,D1:移位開(kāi)始通道,D2:移位結(jié)束通道,IN:數(shù)據(jù)輸入端,R:復(fù)位端,CP:移位脈沖輸入端,在移位脈沖的作用下,移位寄存器中的數(shù)據(jù)以位為單位依次向左移一位。,移位寄存器指令SFT的用法,在移位脈沖作用下,D1到D2中的數(shù)據(jù)左移過(guò)程。,復(fù)位端R為ON時(shí),D1到D2所有通道均復(fù)位為零,且移位指令不執(zhí)行。,沒(méi)有移位脈沖時(shí)不執(zhí)行移位。,移位寄存器具有保持功能。,移位寄存器指令SFT的語(yǔ)句表,LD0.00LDP_1sLD0.01ORP_First_CycleSFT(10)W0W0LDW0.03OUT100.0,圖示梯形圖的語(yǔ)句表如下,SFT的兩個(gè)操作數(shù)都是W0,表示只由W0通道組成16位移位寄存器。,移位寄存器的工作時(shí)序,W0.00的ON狀態(tài),在W0通道內(nèi)依次向左移動(dòng)。,1234567,分析程序的功能,P_First_Cycle上電復(fù)位,0.00的狀態(tài)作為輸入數(shù)據(jù),P_1s的秒脈沖作為移位脈沖,第一個(gè)移位脈沖輸入后,0.00的ON狀態(tài)移入W0.00。,0.01ON可使寄存器W0復(fù)位,經(jīng)過(guò)4個(gè)移位脈沖W0.03ON,于是100.0ON。,移位過(guò)程中,只要0.01為ON,移位寄存器即復(fù)位。,第5個(gè)移位脈沖時(shí)W0.03OFF,于是100.0也OFF。,2.可逆移位寄存器指令SFTR(84),C:控制通道D1:移位開(kāi)始通道D2:結(jié)束通道,功能,當(dāng)執(zhí)行條件為ON時(shí),根據(jù)控制通道C的內(nèi)容,在D1D2通道內(nèi),執(zhí)行左移或右移位操作。,可逆移位寄存器的用法,控制通道C的含義,移位方向,1:左移(低高)0:右移(高低),數(shù)據(jù)輸入,移位脈沖輸入,復(fù)位,1:D1D2及CY清零0:根據(jù)C的狀態(tài)移位,左、右移位的控制,在執(zhí)行條件為OFF時(shí)停止工作。此時(shí)若C之bit15為1,D1到D2及CY仍保持原狀態(tài)不變。,通道C之bit15為0時(shí),在移位脈沖的作用下,根據(jù)C之bit12的狀態(tài)進(jìn)行左移或右移。,C之bit12為1左移:每個(gè)掃描周期,從D1到D2按位依次左移一位,C之bit13的數(shù)據(jù)移入St之bit0中,E之bit15的數(shù)據(jù)移入CY中。,C之bit12為0右移:每個(gè)掃描周期,從D2到D1按位依次右移一位,C之bit13的數(shù)據(jù)移入D2之bit15中,D1之bit0的數(shù)據(jù)移入CY中。,LD00000OUT20012LD00001OUT20013LD00002DIFU(13)20100LD20100OUT20014LD00003OUT20015LD00004SFTR(84)200W10W11,使用可逆移位寄存器舉例,程序功能分析,執(zhí)行條件,控制通道,開(kāi)始通道,結(jié)束通道,當(dāng)00004為ON時(shí),開(kāi)始執(zhí)行移位操作。,200的bit12bit15的狀態(tài)是由0000000003控制的。,若00001ON,則20013為1,即輸入數(shù)據(jù)為1;若00001OFF,則20013為0,即輸入數(shù)據(jù)為0。,每當(dāng)00002OFFON時(shí),20014都會(huì)ON一個(gè)掃描周期,形成移位脈沖。,若直接以00002作為移位脈沖。因?yàn)楫?dāng)00002為ON時(shí),每個(gè)掃描周期都要執(zhí)行一次移位,這將造成移位失控。,若00003ON,則20015ON,W10W11及CY位清0,若00003OFF20015OFF,此時(shí)根據(jù)20012的狀態(tài)執(zhí)行移位操作。,(續(xù)),若20012ON執(zhí)行左移位:,每當(dāng)00002OFFON時(shí),W10W11中的數(shù)據(jù)按位依次左移一位。20013的狀態(tài)進(jìn)入LR10.00,LR11.15的數(shù)據(jù)進(jìn)入CY。,(續(xù)),若20012OFF執(zhí)行右移位:,每當(dāng)00002OFFON時(shí),W10W11中的數(shù)據(jù)按位依次右移一位。20013的狀態(tài)進(jìn)入W11.15,W10.00的數(shù)據(jù)進(jìn)入CY。,(續(xù)),3.算術(shù)左/右移位指令A(yù)SL(25)/ASR(26),算術(shù)左/右移位指令的功能和使用方法相似,以算術(shù)左移指令為例,介紹它們的功能和使用方法,ASL(25)D,D是移位通道號(hào),功能,當(dāng)執(zhí)行條件為ON時(shí),執(zhí)行指令將Ch中的數(shù)據(jù)以位為單依次左移1位。最高位移入CY,最低位補(bǔ)0。如圖:,4.循環(huán)左/右移位指令ROL(27)/ROR(28),循環(huán)左/右移位指令的功能和使用方法相似,以循環(huán)左移指令為例,介紹它們的功能和使用方法,ROL(27)D,D是移位通道號(hào),功能,當(dāng)執(zhí)行條件為ON時(shí),將D及CY中的數(shù)據(jù)以位為單依次循環(huán)左移位1位。如下圖:,5.數(shù)字左/右移指令SLD(74)/SRD(75),數(shù)字左/右移位指令的功能和使用方法相似,以數(shù)字左移指令為例,介紹它們的功能和使用方法,D1:移位首通道D2:移位結(jié)束通道,功能:當(dāng)執(zhí)行條件為ON時(shí),執(zhí)行指令將D1D2中的數(shù)據(jù)以數(shù)字為單位依次左移位1位。如下圖:,6.字移位指令WSFT(16)/WSFT(16),S:移位數(shù)據(jù)D1:移位開(kāi)始通道號(hào)D2:結(jié)束通道,功能:當(dāng)執(zhí)行條件為ON時(shí),將S通道移入D1通道,將D1D2中的內(nèi)容以字為單位依次左移。如下圖:,WSFT(16)SD1D2,WSFT(16)SD1D2,WSFT(16)SD1D2,WSFT(16)SD1D2,數(shù)據(jù)移位指令小結(jié),1.要根據(jù)需要,選擇合適的數(shù)據(jù)移位指令。,是需要建立移位寄存器、還是要按位移位、按數(shù)字移位或按字移位。,是需要作單向移位、可逆移位、還是循環(huán)移位。,是需要作左移位還是右移位。,2.當(dāng)需要標(biāo)志位CY參與移位時(shí),有時(shí)需要編程保存CY的狀態(tài)。,3.注意執(zhí)行各種指令后對(duì)標(biāo)志位的影響。,3.6數(shù)據(jù)傳送類(lèi)指令,傳送指令MOV/MVN,數(shù)字傳送指令MOVD,位傳送指令MOVB,塊設(shè)置指令BSET,塊傳送指令XFER,單字分配指令DIST,數(shù)據(jù)交換指令XCHG,數(shù)據(jù)調(diào)用指令COLL,S:源數(shù)據(jù)(通道或十六進(jìn)制數(shù))D:目的通道號(hào),功能,傳送指令:在執(zhí)行條件為ON時(shí),將源通道S數(shù)據(jù)傳送到目的通道D中。,求反傳送指令:在執(zhí)行條件為ON時(shí),將源通道S數(shù)據(jù)求反后再傳送到目的通道D中。,1.傳送指令MOV(21)/求反傳送指令MVN(22),LDP_First_CycleMOV(21)#0198H000,在PLC上電的第一個(gè)掃描周期,把0198傳送到H000中,分析程序的功能,并寫(xiě)出語(yǔ)句表.,使用MOV指令舉例,在此后的各掃描周期,不再執(zhí)行MOV指令。,使用DIFU指令有何作用?,只要0.00OFFON,就執(zhí)行一次MOV指令。,分析程序的功能:,使用MOV指令舉例,把W001中的內(nèi)容傳送到H000中。,分析程序的功能,使用MOV指令舉例,只要0.00OFFON,就執(zhí)行一次MOV指令。,把W001中的內(nèi)容傳送到H000中。,與舉例(2)功能相同。,指令MOV幾種使用方法的區(qū)別,(a)與(c)相同,指令MOV都只在00000OFFON時(shí)執(zhí)行一次。,(b)指令MOV只在PLC上電后的第一個(gè)掃描周期執(zhí)行一次。,2.數(shù)據(jù)交換指令XCHG(73)/XCHG(73),D1、D2:通道號(hào),功能,在執(zhí)行條件為ON時(shí),將D1、D2通道中的數(shù)據(jù)進(jìn)行交換。,3.塊傳送指令XFER(70)/XFER(70),W:通道數(shù)(BCD數(shù)),功能,在執(zhí)行條件為ON時(shí),將幾個(gè)連續(xù)通道中的數(shù)據(jù)傳送到另外幾個(gè)連續(xù)通道中。,S:源數(shù)據(jù)塊首通道D:目的通道首通道,執(zhí)行塊傳送指令時(shí)數(shù)據(jù)傳送如下所示:,4.塊設(shè)置指令BSET(71)/BSET(71),S:源數(shù)據(jù)(通道或十六進(jìn)制數(shù)),功能,執(zhí)行條件為ON時(shí),將S傳送到從D1到D2的各通道中。,D1:開(kāi)始通道D2:結(jié)束通道號(hào),LD0.00MOV(21)#0100H000TIM0000H000ANDT0000OUT100.00LD0.01BSET(71)#0050T0000T0000,BSET指令的第二、第三操作數(shù)都是T0000,即執(zhí)行BSET指令,只把數(shù)據(jù)傳送到T0000中。,功能,在0.01OFF、0.00OFFON時(shí),執(zhí)行一次MOV指令,將#0100傳送到通道H000中。,自此TIM0000以設(shè)定值10秒定時(shí)。,經(jīng)過(guò)10秒,定時(shí)器TIM0000ON,線(xiàn)圈100.00ON。,當(dāng)需要改變定時(shí)器T0000的當(dāng)前值時(shí),可通過(guò)執(zhí)行BSET指令來(lái)實(shí)現(xiàn)。,執(zhí)行BSET指令將0050傳送到T0000中,T0000的當(dāng)前值立即變?yōu)?050。,例如,在TIM0000的當(dāng)前值為0089時(shí),令0.01ON一次:,自此,T0000的當(dāng)前值從0050開(kāi)始,每隔0.1秒減1,一直減到為0000為止。,由于H000中的數(shù)據(jù)沒(méi)有改變,在下一次定時(shí)器T0000工作時(shí),其定時(shí)值仍然是0100。,以上是用BSET指令改變定時(shí)器的當(dāng)前值。,用BSET指令也可以改變定時(shí)器的設(shè)定值。方法為:,本例中,令BSET指令的第2、3操作數(shù)為H0000,執(zhí)行BSET指令后,T0000的設(shè)定值就為0050了。,MOV與BSET指令的異同,執(zhí)行一次MOV指令,只能向一個(gè)通道傳送一個(gè)字;而執(zhí)行一次BSET指令,可以向多個(gè)通道傳送同一個(gè)字。,TIM/CNT的操作數(shù)是通道時(shí),用MOV和BSET指令都可以改變TIM/CNT的設(shè)定值。,用BSET指令既可改變TIM/CNT的設(shè)定值、也可以改變TIM/CNT的當(dāng)前值。,因?yàn)镸OV指令不能向T/C區(qū)傳送數(shù)據(jù),所以不能用MOV指令改變TIM/CNT的當(dāng)前值!,5.位傳送指令MOVB(82)/MOVB(82),bit00bit07指定S中的位號(hào)bit08bit15指定D中的位號(hào),S:源數(shù)據(jù)D:目的通道C(BCD):控制數(shù)據(jù),在執(zhí)行條件為ON時(shí),根據(jù)C的內(nèi)容,將S傳送到D中。,C內(nèi)容的含義,指令的功能,LD0.05MOVB(82)H000#1500W000,程序功能,C的含義,例:設(shè)H000的內(nèi)容為1000100010000101,執(zhí)行指令之后W0.15為ON(1),bit00bit07:S中的位bit08bit15:D中的位,0.05由OFFON時(shí),根據(jù)C的內(nèi)容,將H000指定位的內(nèi)容傳送到W000的指定位中。,6.數(shù)字傳送指令MOVD(83)/MOVD(83),在執(zhí)行條件為ON時(shí),根據(jù)C的內(nèi)容,將S中指定的數(shù)字傳送到D中指定的數(shù)字位中。,指令的功能,S:源數(shù)據(jù)D:目的通道C:控制數(shù)據(jù),C(BCD數(shù))的含義,指令各操作數(shù)的含義,S中第一個(gè)要傳送的數(shù)字位位號(hào),不用,指定D中接收第一個(gè)數(shù)字的位號(hào),C=#0030,使用MOVD指令舉例(1),根據(jù)C、確定指令執(zhí)行結(jié)果,S中第0位數(shù)字開(kāi)始傳送,傳送4位數(shù)字,D中從第0位開(kāi)始接收第一個(gè)數(shù)字,被傳送的數(shù)字位要連續(xù),例如:1230,例如:3012,例如:2301等,C=#0023,使用MOVD指令舉例(2),根據(jù)C、確定指令執(zhí)行結(jié)果,S中第3位數(shù)字開(kāi)始傳送,傳送3位數(shù)字,D中從第0位開(kāi)始接收第一個(gè)數(shù)字,第一個(gè)被傳送的數(shù)字,第二個(gè)被傳送的數(shù)字,第三個(gè)被傳送的數(shù)字,第一個(gè)接收數(shù)字的位,C=#0123,使用MOVD指令舉例(3),根據(jù)C、確定指令執(zhí)行結(jié)果,S中第3位數(shù)字開(kāi)始傳送,傳送3位數(shù)字,D中從第1位開(kāi)始接收第一個(gè)數(shù)字,第一個(gè)被傳送的數(shù)字,第二個(gè)被傳送的數(shù)字,第三個(gè)被傳送的數(shù)字,第一個(gè)接收數(shù)字的位,7.數(shù)據(jù)分配指令DIST(80)/DIST(80),S1:源數(shù)據(jù)D:目標(biāo)基準(zhǔn)通道S2:偏移數(shù),在執(zhí)行條件為ON時(shí),將源數(shù)據(jù)傳送到以目標(biāo)通道為基址加偏移數(shù)后所制定的通道中。,指令的功能,S1是基準(zhǔn)通道D是目的通道S2偏移數(shù),8.數(shù)據(jù)抽取指令COLL(81)/COLL(81),在執(zhí)行條件為ON時(shí),將源通道為基址加偏移數(shù)后所制定的通道值傳送到目標(biāo)通道中。,指令的功能,(2)注意塊傳送和塊設(shè)置指令功能的區(qū)別。,(3)注意數(shù)據(jù)分配、數(shù)據(jù)抽取和數(shù)據(jù)交換指令的區(qū)別。,區(qū)別位傳送和數(shù)字傳送指令目的通道內(nèi)容存放的方法,(1)注意各種傳送指令的區(qū)別。,單字傳送MOV是常用的指令,要牢記其使用方法。,塊設(shè)置指令BSET可以向T/C區(qū)傳送數(shù)據(jù),用該指令可以改變定時(shí)器的當(dāng)前值。,數(shù)據(jù)傳送指令小結(jié),無(wú)符號(hào)比較指令CMP,表比較指令TCMP,時(shí)刻比較指令,塊比較指令BCMP,3.7數(shù)據(jù)比較指令,區(qū)域比較指令ZCP,符號(hào)比較指令,1.無(wú)符號(hào)比較指令CMP,S1:比較數(shù)1S2:比較數(shù)2,在執(zhí)行條件為ON時(shí),將S1和S2進(jìn)行比較。,當(dāng)S1S2時(shí),標(biāo)志位P_GTON,當(dāng)S1=S2時(shí),標(biāo)志位P_EQON,當(dāng)S1=”等,執(zhí)行條件為ON時(shí),按照符號(hào)和選項(xiàng)設(shè)定方式比較S1和S2比較數(shù)的值,滿(mǎn)足條件輸出為ON(能流導(dǎo)通)。,功能,選項(xiàng),包括S(帶符號(hào))和L(雙字),6.時(shí)刻比較類(lèi)指令,符號(hào),“=DT”,“DT”,“DT”,“=DT”等,C:控制通道S1:當(dāng)前時(shí)刻首通道S2:比較時(shí)刻首通道,操作數(shù),控制數(shù)據(jù)C,“秒”數(shù)據(jù)比較設(shè)定,“日”數(shù)據(jù)比較設(shè)定,“小時(shí)”數(shù)據(jù)比較設(shè)定,“分”數(shù)據(jù)比較設(shè)定,“月”數(shù)據(jù)比較設(shè)定,“年”數(shù)據(jù)比較設(shè)定,“0”:比較有效;“1”:不比較,當(dāng)前時(shí)刻數(shù)據(jù)通道S1S1+2,秒:0059(BCD),分:0059(BCD),小時(shí):0023(BCD),日:0131(BCD),月:0112(BCD),年:0099(BCD),(1)數(shù)據(jù)比較指令是常用的指令,要牢記其格式、梯形圖、操作數(shù)范圍和使用方法。,使用數(shù)據(jù)比較指令影響標(biāo)志位P_GT、P_EQ、P_LT在需要保存標(biāo)志位狀態(tài)時(shí),要編寫(xiě)相應(yīng)程序。注意觸點(diǎn)P_GT、P_EQ、P_LT的使用方法。,(2)注意塊比較和表比較指令執(zhí)行結(jié)果的表示方法。,數(shù)據(jù)比較指令小結(jié),(3)注意符號(hào)比較和時(shí)刻比較指令操作數(shù)格式,參與比較的比較數(shù)據(jù)的數(shù)據(jù)類(lèi)型:二進(jìn)制、帶符號(hào)二進(jìn)制、雙字、時(shí)刻、雙精度、浮點(diǎn)數(shù)、等。,3.8數(shù)據(jù)轉(zhuǎn)換指令,BCD二進(jìn)制轉(zhuǎn)換,二進(jìn)制BCD轉(zhuǎn)換,416譯碼指令,164編碼指令,七段譯碼指令,ASCII碼轉(zhuǎn)換指令,BCD/BCD與BIN/BIN指令類(lèi)似,下面以BIN/BIN為例說(shuō)明其使用方法。,S:源通道D:結(jié)果通道,功能:當(dāng)執(zhí)行條件為ON時(shí),將S中的BCD碼轉(zhuǎn)換成二進(jìn)制數(shù),并將結(jié)果存入D中。,1.BCD碼二進(jìn)制數(shù)轉(zhuǎn)換指令BIN/BIN,4321轉(zhuǎn)換為二進(jìn)制數(shù)是0001000011100001,LD0.00MOV(21)#4321W000BIN(23)W000D00000,源通道W000中為BCD數(shù)4321。,轉(zhuǎn)換后結(jié)果通道內(nèi)容,寫(xiě)出圖示語(yǔ)程序的句表、并分析功能。,本例只在0.00OFFON時(shí)轉(zhuǎn)換一次。,2.416譯碼指令MLPX/MLPX,S:源首通道C:控制數(shù)據(jù)D:結(jié)果首通道,C的含義,S中第一個(gè)要譯碼的數(shù)字位位號(hào),固定為0,當(dāng)執(zhí)行條件為ON時(shí),根據(jù)C的內(nèi)容對(duì)S進(jìn)行譯碼,并將結(jié)果存放中D中。,指令功能,譯碼方法,由C確定被譯碼的起始數(shù)字位及譯碼的位數(shù);,將該位數(shù)字(十六進(jìn)制)轉(zhuǎn)換為015的十進(jìn)制數(shù);,再將結(jié)果通道中與該十進(jìn)制數(shù)對(duì)應(yīng)的位置為ON,其余位為OFF。,被譯碼的數(shù)字位不能大于4。,第1個(gè),第2個(gè),第3個(gè),C=#0030,第4個(gè),第1個(gè),C=#0023,結(jié)果通道的存放順序,被譯碼的數(shù)字位要連續(xù),從0位開(kāi)始譯碼,對(duì)4位數(shù)字譯碼,從3位開(kāi)始譯碼,對(duì)3位數(shù)字譯碼,使用譯碼指令MLPX舉例,LD0.00MOV(21)#78F5W000MLPX(76)W000#0013H000,寫(xiě)語(yǔ)句表、分析程序功能,C=#0013,從第三位數(shù)字開(kāi)始譯碼,對(duì)2個(gè)數(shù)字譯碼,H000和H001,(第3位第0位),譯2個(gè)數(shù)字,存放結(jié)果需要2個(gè)通道,W000:78F5,(續(xù))譯碼的原理,源通道(78F5)第3位數(shù)字是0111十進(jìn)制數(shù)7,則以7為位號(hào),將結(jié)果首通道H000中的bit07置為1,源通道第0位數(shù)字是0101十進(jìn)制數(shù)5,則以5為位號(hào),將結(jié)果末通道H001的bit05置為1,對(duì)本例,如果C=#0023,即對(duì)3個(gè)數(shù)字譯碼,第3個(gè)被譯碼的是源通道的第1位數(shù)字。第3個(gè)譯碼結(jié)果存放在結(jié)果通道H002中。,執(zhí)行一次指令,最多只能對(duì)4個(gè)數(shù)字譯碼。,例如設(shè)C=#0023時(shí),結(jié)果首通道設(shè)為H510;設(shè)C=#0042等,都是錯(cuò)誤的。,使用譯碼指令MLPX時(shí)需注意,結(jié)果通道不能超過(guò)其所在區(qū)域。,3.164編碼指令DMPX/DMPX,S:源首通道C:控制數(shù)據(jù)D:結(jié)果通道,C的含義,D中接收編碼的第一個(gè)數(shù)字位,固定為0,當(dāng)執(zhí)行條件為ON時(shí),根據(jù)C的內(nèi)容,對(duì)以S為首通道的幾個(gè)通道進(jìn)行編碼,并將結(jié)果存放在D中。,指令功能,編碼方法,由C確定被編碼的通道數(shù);,將被編碼通道中為ON的最高位的位號(hào)編為一個(gè)十六進(jìn)制數(shù);,將該十六進(jìn)制數(shù)送到D指定(由C指定)的數(shù)字位。,使用編碼指令DMPX舉例,LD0.00MOV(21)#0013220DMPX(77)H000D00000220,寫(xiě)語(yǔ)句表、分析程序功能,C=#0013,從D的數(shù)字位3開(kāi)始存放結(jié)果,對(duì)2個(gè)通道進(jìn)行編碼,H000和H001,對(duì)兩個(gè)通道編碼,源通道應(yīng)為,設(shè)源通道H000中內(nèi)容為A8E7(1010100011100111),H000中為1的最高位的位號(hào)是15十六進(jìn)制編碼F,將編碼F放在結(jié)果通道D00000的第3位數(shù)字位上。,設(shè)源通道H001中內(nèi)容為01BF(0000000110111111),H001中為1的最高位的位號(hào)是8十六進(jìn)制編碼8,將編碼8放在結(jié)果通道D00000的第0位數(shù)字位上。,(續(xù))編碼的原理,第1個(gè),第2個(gè),第3個(gè),C=#0030,第4個(gè),第1個(gè),C=#0031,結(jié)果的存放順序,存放編碼結(jié)果的位號(hào)要連續(xù),第4個(gè),原通道與編碼結(jié)果的對(duì)應(yīng)關(guān)系,若C=#0023(對(duì)3個(gè)源通道編碼),第3個(gè)被編碼的源通道應(yīng)是H002,第3個(gè)編碼結(jié)果應(yīng)放在D00000的數(shù)字位1上。,源通道不能超過(guò)其所在區(qū)域。,例如設(shè)C=#0023時(shí),源首通道設(shè)為H510;設(shè)C=#0042等,都是錯(cuò)誤的。,使用編碼指令DMPX時(shí)需注意,源通道不能超過(guò)4個(gè)。,4.七段譯碼指令SDEC/SDEC,S:源通道(BCD)C:控制數(shù)據(jù)D:結(jié)果首通道,C的含義,S中第一個(gè)要譯碼的數(shù)字位,固定為0,從D的高8位還是低8位開(kāi)始存放第一個(gè)結(jié)果0:低8位1;高8位,轉(zhuǎn)換后結(jié)果存放順序,C=#0030,從數(shù)字位0開(kāi)始譯碼,譯碼4位數(shù)字,從D低8位開(kāi)始存放,固定為0,C=#0133,從數(shù)字位3開(kāi)始譯碼,譯碼4位數(shù)字,從D高8位開(kāi)始存放,固定為0,注意:對(duì)4個(gè)數(shù)字譯碼占用了三個(gè)通道!,當(dāng)執(zhí)行條件為ON時(shí),根據(jù)C的內(nèi)容,對(duì)S進(jìn)行譯碼,并將結(jié)果存放中D中。,指令SDEC的功能,譯碼方法,譯碼結(jié)果存放在以D為首的幾個(gè)連續(xù)通道中(由C確定是從D的低8位還是高8位開(kāi)始存放)。,D中的bit0006及bit0814分別對(duì)應(yīng)數(shù)碼管的a、b、c、d、e、f、g段。bit07和bit15不用。,bit0006及bit0814若為1,對(duì)應(yīng)數(shù)碼管的段發(fā)光。,根據(jù)被譯碼數(shù)字位的數(shù)值,確定bit0006及bit0814哪個(gè)位為1。,使用譯碼指令SDEC舉例,LD0.00MOV(21)#1673HR00SDEC(78)HR00#0013HR01,寫(xiě)語(yǔ)句表、分析程序功能,C=#0013,D中第一個(gè)要譯碼的數(shù)字位,對(duì)2個(gè)數(shù)字位進(jìn)行譯碼,從D的低8位開(kāi)始存放結(jié)果,譯碼數(shù)字位30,需占用一個(gè)結(jié)果通道,H000:1673,設(shè)源通道H000中內(nèi)容為1673(BCD),源通道中第3位數(shù)字是1對(duì)應(yīng)b、c段應(yīng)該是1;,(續(xù))譯碼的原理,第一個(gè)譯碼結(jié)果要存放在結(jié)果通道的低8位,所以H001的低8位是00000110(bit7固定為0);,源通道中第0位數(shù)字是3對(duì)應(yīng)a、b、c、d、g段是1;,第二個(gè)譯碼結(jié)果要存放在結(jié)果通道的高8位,所以H001的高8位是01001111(bit15固定為0)。,源通道數(shù)字與譯碼結(jié)果通道的對(duì)應(yīng)關(guān)系如下頁(yè)圖。,(續(xù))源通道數(shù)字與譯碼結(jié)果通道的對(duì)應(yīng)關(guān)系,1673,本例中,若C=#0113時(shí),也是對(duì)2個(gè)數(shù)字譯碼,若第一個(gè)結(jié)果從高8位開(kāi)始存放,則需要兩個(gè)結(jié)果通道。,第一個(gè)譯碼結(jié)果存在H001的高8位,第二個(gè)譯碼結(jié)果存在H002的低8位。,執(zhí)行一次指令,最多只能對(duì)4個(gè)數(shù)字譯碼;,例如:設(shè)C=#0023時(shí),結(jié)果首通道設(shè)為H510;設(shè)C=#0042等,都是錯(cuò)誤的。,注意,結(jié)果通道不能超過(guò)其所在區(qū)域。,5.ASCII碼轉(zhuǎn)換指令A(yù)SC/ASC,S:源通道C:控制數(shù)據(jù)D:結(jié)果首通道,C的含義,S中第一個(gè)被轉(zhuǎn)換的數(shù)字位,校驗(yàn)0:無(wú)校驗(yàn)1:偶校驗(yàn)2:奇校驗(yàn),從D的高8位還是低8位開(kāi)始存放第一個(gè)結(jié)果0:低8位1;高8位,當(dāng)執(zhí)行條件為ON時(shí),根據(jù)C的內(nèi)容,將S中指定的數(shù)字轉(zhuǎn)換成ASCII碼,并將結(jié)果存放在D中。,指令功能,關(guān)于校驗(yàn)位,若設(shè)置偶校驗(yàn),則
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- WOD168肉雞高效籠養(yǎng)技術(shù)
- 解析CPSM考試試題及答案
- 網(wǎng)站用戶(hù)導(dǎo)航設(shè)計(jì)試題及答案
- 保安物業(yè)管理知識(shí)培訓(xùn)課件
- 健康教育與防控知識(shí)課件
- 2024年CPSM考試要點(diǎn)提煉與試題及答案
- 實(shí)戰(zhàn)演練的重要性CPMM試題及答案
- 燙傷護(hù)理課件
- 以實(shí)踐為導(dǎo)向的CPMM學(xué)習(xí)試題及答案
- 動(dòng)物繁殖方式的試題及答案
- (二診)成都市2022級(jí)2025屆高中畢業(yè)班第二次診斷性檢測(cè)生物試卷(含官方答案)
- 2025年統(tǒng)編版高三政治二輪復(fù)習(xí):當(dāng)代國(guó)際政治與經(jīng)濟(jì) 練習(xí)
- (二診)成都市2022級(jí)2025屆高中畢業(yè)班第二次診斷性檢測(cè)語(yǔ)文試卷(含官方答案)
- 2025年國(guó)家會(huì)展中心上海有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
- 《卓越領(lǐng)導(dǎo)力》課件
- 2024國(guó)家電投集團(tuán)中國(guó)電力招聘(22人)筆試參考題庫(kù)附帶答案詳解
- 《餐廳案例》課件
- 《大數(shù)據(jù)時(shí)代對(duì)會(huì)計(jì)行業(yè)產(chǎn)生的影響探究》10000字【論文】
- 2025年中國(guó)中信集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 阜陽(yáng)PLC基礎(chǔ)知識(shí)培訓(xùn)課件
- 2025年廣東省第二季度廣州市城市規(guī)劃勘測(cè)設(shè)計(jì)研究院招聘56人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
評(píng)論
0/150
提交評(píng)論