版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章PLC功能指令系統(tǒng)5.1功能指令的表示形式及含義5.2功能指令的分類及操作數(shù)5.3程序流控制功能指令
5.4傳送和比較指令5.5四則運(yùn)算和邏輯運(yùn)算指令5.6循環(huán)移位和移位指令5.7數(shù)據(jù)處理指令5.8高速處理指令5.9方便指令5.10外部I/O指令5.11FX2N系列外部設(shè)備指令5.12浮點(diǎn)數(shù)運(yùn)算指令5.13位控制指令5.14實(shí)時(shí)時(shí)鐘處理指令5.15外部設(shè)備用指令5.16觸點(diǎn)比較指令
習(xí)題
5.1功能指令的表示形式及含義
5.1.1功能指令的表示形式功能指令的表示形式與基本指令和順控指令有所不同,它由助記符(功能號(hào))和操作數(shù)兩部分構(gòu)成。助記符表示功能指令的功能,操作數(shù)為操作對(duì)象,即操作數(shù)據(jù)、地址等。圖5.1為傳送指令在編程中的格式示例。當(dāng)X0為ON時(shí)執(zhí)行該指令,將源(Source)操作數(shù)[S·]指定的字元件D10中的數(shù)據(jù)傳送到目標(biāo)(Destination)操作數(shù)[D·]指定的字元件D12中。
圖5.1功能指令的梯形圖表達(dá)形式5.1.2功能指令的含義功能指令有多種類型,采用功能號(hào)和助記符來(lái)表示。在使用功能指令時(shí),必須掌握功能指令中各參數(shù)所表示的含義。下面以圖5.2所示的數(shù)據(jù)傳送指令為例加以說(shuō)明。
圖5.2數(shù)據(jù)傳送指令功能說(shuō)明
圖5.2中①~⑥的說(shuō)明如下:①為功能指令的功能號(hào)。FX2N系列PLC的功能指令的功能號(hào)從FNC?00到FNC?246。由于功能指令的功能號(hào)不便記憶、理解和掌握,所以使用時(shí)功能指令用功能號(hào)+助記符的形式來(lái)表示,助記符代表功能指令的含義。②為操作數(shù)據(jù)類型。功能指令中操作數(shù)的類型有16位和32位。(D)表示操作數(shù)為32位數(shù)據(jù)類型,無(wú)(D)表示操作數(shù)為16位數(shù)據(jù)類型。③為助記符。助記符是該指令功能的英文縮寫。如加法指令的英文寫法為“addtioninstruction”,助記符即為ADD;比較指令“compareinstruction”,助記符即為CMP等。MOV為數(shù)據(jù)傳送指令,用以實(shí)現(xiàn)數(shù)據(jù)的傳送。
④為脈沖/連續(xù)執(zhí)行指令標(biāo)志(P)。功能指令中若帶有(P),為脈沖執(zhí)行指令,僅在條件滿足時(shí)執(zhí)行一次該功能指令;若指令中沒(méi)有(P),則為連續(xù)執(zhí)行指令,即在條件滿足時(shí),每個(gè)掃描周期都執(zhí)行一次該功能指令。圖5.2中的數(shù)據(jù)傳送指令為脈沖執(zhí)行指令,當(dāng)X0為ON時(shí)僅傳送一次數(shù)據(jù)。
⑤、⑥為操作數(shù)。操作數(shù)為功能指令中涉及的參數(shù)或數(shù)據(jù),分為源操作數(shù)、目標(biāo)操作數(shù)和其他操作數(shù)。源操作數(shù)在指令執(zhí)行后不改變其內(nèi)容;目標(biāo)操作數(shù)在指令執(zhí)行后,其內(nèi)容根據(jù)指令功能做出相應(yīng)的改變;其他操作數(shù)多為常數(shù),或者是對(duì)源操作數(shù)、目標(biāo)操作數(shù)做出補(bǔ)充說(shuō)明的參數(shù)。常數(shù)K表示十進(jìn)制數(shù),H表示十六進(jìn)制數(shù)。圖5.2中標(biāo)注⑤為源操作數(shù),⑥為目標(biāo)操作數(shù)。
5.2功能指令的分類及操作數(shù)
5.2.1功能指令的分類FX2N系列PLC的功能指令極其豐富,根據(jù)其功能可概括為14大類,分別為程序流程控制指令、傳送和比較指令、四則邏輯運(yùn)算指令、循環(huán)移位指令、數(shù)據(jù)處理指令、高速處理指令、方便指令、外部設(shè)備I/O指令、外部設(shè)備SER指令、浮點(diǎn)運(yùn)算指令、定位指令、時(shí)鐘運(yùn)算指令、外圍設(shè)備指令和觸點(diǎn)比較指令。
5.2.2功能指令的操作數(shù)
1.位元件1)位元件和字元件位元件是只處理ON/OFF狀態(tài)的元件,例如X、Y、M和S等;其他處理數(shù)字?jǐn)?shù)據(jù)的元件,例如T、C和D,稱為字元件。
2)位組合元件4個(gè)位元件組合成一個(gè)位組合元件單元。位組合元件用KnMm表示,其中n表示組數(shù),m表示首元件編號(hào)(m可以是內(nèi)部資源允許的任意值),例如:K1X0表示由X3~X0共4個(gè)輸入繼電器的4位組合的數(shù)據(jù)。K2X0表示由X7~X0共8個(gè)輸入繼電器的8位組合的數(shù)據(jù)。K3Y0表示由Y13~Y0共12個(gè)輸出繼電器的12位組合的數(shù)據(jù)。
在16位數(shù)(或者32位數(shù))運(yùn)算時(shí),參與操作的位組合單元數(shù)由K1~K4(或K1~K8)來(lái)指定,長(zhǎng)度不足時(shí)的高位均為零,并且只能處理正數(shù)。圖5.3表示當(dāng)輸入繼電器X0為ON時(shí),將由X4~X13組合的2位BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)存儲(chǔ)到數(shù)據(jù)寄存器D10中。
圖5.3位組合元件的應(yīng)用
2.?dāng)?shù)據(jù)寄存器(D)數(shù)據(jù)寄存器用于存儲(chǔ)數(shù)值數(shù)據(jù),寄存器都是16位(最高位為符號(hào)位),可處理的數(shù)值范圍為-32768~+32767。相鄰兩個(gè)的數(shù)據(jù)寄存器可組成32位數(shù)據(jù)寄存器(最高位為符號(hào)位),可處理的數(shù)值范圍為-2147483648~+2147483647。
數(shù)據(jù)寄存器種類、編號(hào)及使用見(jiàn)表3.11。
3.變址寄存器(V、Z)變址寄存器V0~V7和Z0~Z7除了可作為普通的16位數(shù)據(jù)寄存器外,也可以兩個(gè)組合(Z為低位,V為高位)作為32位寄存器,如圖5.4所示。在功能指令中,還可以同其他的元件編號(hào)或數(shù)值組合使用,用來(lái)改變內(nèi)部元件的編號(hào)或數(shù)值。
圖5.4變址寄存器及其組合
可以利用變址寄存器改變編號(hào)或數(shù)據(jù)的元件有X、Y、M、S、T、P、C、K、H、KnX、KnY、KnM及KnS等。修改實(shí)例如圖5.5所示。
圖5.5變址寄存器修改參數(shù)實(shí)例
4.文件寄存器(D)PLC內(nèi)部的斷電保持?jǐn)?shù)據(jù)寄存器可用來(lái)存儲(chǔ)PLC運(yùn)行過(guò)程中所生成的大量數(shù)據(jù),為了便于數(shù)據(jù)管理和長(zhǎng)期保存,常將這些數(shù)據(jù)以文件形式進(jìn)行存儲(chǔ)。FX2N系列的數(shù)據(jù)寄存器D1000以后的數(shù)據(jù)寄存器是斷電保持型寄存器,通過(guò)參數(shù)設(shè)定后,可作為最大7000點(diǎn)的文件寄存器,也可通過(guò)參數(shù)設(shè)定,將7000點(diǎn)文件寄存器分成14塊,每個(gè)塊500個(gè)文件寄存器。D1000以后的一部分設(shè)定為文件寄存器,剩余部分可作為通用的掉電保持寄存器使用。
5.指針(P/I)在跳轉(zhuǎn)指令中,當(dāng)跳轉(zhuǎn)條件成立時(shí),需用某一標(biāo)識(shí)符表示該跳轉(zhuǎn)程序的入口地址。此標(biāo)識(shí)符就是指針,與跳轉(zhuǎn)、子程序、中斷等指令一起使用。地址號(hào)采用十進(jìn)制進(jìn)行編號(hào)。按用途指針可分為分支用指針(P)和中斷用指針。各類指針編號(hào)如表5.1所示。
表5.1各類指針編號(hào)表
1)指針P分支指針用于條件跳轉(zhuǎn)指令和子程序調(diào)用指令,其地址號(hào)可以是P0~P62和P64~P127。P63為結(jié)束指令專用指針,相當(dāng)于程序結(jié)束指令(END),不能用于分支指針。分支指針P的應(yīng)用實(shí)例如圖5.6所示。在圖5.6(a)中,當(dāng)X0=ON時(shí),執(zhí)行條件跳轉(zhuǎn)指令,程序跳轉(zhuǎn)到該跳轉(zhuǎn)指令指定的標(biāo)號(hào)P0位置,隨后程序繼續(xù)執(zhí)行。在圖5.6(b)中,當(dāng)X0=ON時(shí),執(zhí)行調(diào)用子程序指令所指定標(biāo)號(hào)的子程序,當(dāng)執(zhí)行到子程序返回指令FNC?02SRET時(shí),返回到主程序原來(lái)位置繼續(xù)執(zhí)行。
圖5.6分支指針P的應(yīng)用實(shí)例(a)條件跳轉(zhuǎn);(b)子程序調(diào)用
2)指針I(yè)●輸入中斷指針輸入中斷的中斷信號(hào)源來(lái)自于外界輸入信號(hào)(X0~X5),外界輸入信號(hào)條件成立時(shí),開(kāi)始執(zhí)行相應(yīng)的中斷程序,并且不受PLC的掃描周期的影響,因此輸入中斷可以處理比掃描周期更短或需要優(yōu)先處理的輸入信號(hào)。例如對(duì)于輸入中斷指針I(yè)410,當(dāng)輸入繼電器X4由ON變?yōu)镺FF時(shí),停止執(zhí)行主程序,開(kāi)始執(zhí)行中斷指針為I410后面的中斷程序,在執(zhí)行到中斷返回指令(IRET)時(shí)返回主程序并繼續(xù)執(zhí)行。
●定時(shí)器中斷指針定時(shí)器中斷的中斷源信號(hào)來(lái)自其內(nèi)部的定時(shí)器。例如I650為每隔50?ms停止執(zhí)行主程序,開(kāi)始執(zhí)行一次中斷指針為I650后面的中斷程序,執(zhí)行到中斷返回指令(IRET)時(shí)返回主程序并繼續(xù)執(zhí)行?!窀咚儆?jì)數(shù)器中斷指針高速計(jì)數(shù)器中斷是指當(dāng)高速計(jì)數(shù)器和該計(jì)數(shù)器設(shè)定值相等時(shí),就執(zhí)行相應(yīng)的中斷子程序,主要用于高速計(jì)數(shù)器需優(yōu)先處理計(jì)數(shù)結(jié)果的控制系統(tǒng)中。
6.標(biāo)志位1)一般標(biāo)志位功能指令在操作過(guò)程中,其運(yùn)行結(jié)果將對(duì)下列標(biāo)志位產(chǎn)生影響:M8020:零標(biāo)志,若運(yùn)算結(jié)果為0時(shí),M8020=ON;M8021:借位標(biāo)志,在作減法運(yùn)算時(shí),若被減數(shù)不夠減,則M8021=ON;M8022:進(jìn)位標(biāo)志,在作加法運(yùn)算時(shí),若運(yùn)算結(jié)果產(chǎn)生進(jìn)位,則M8022=ON;M8029:指令執(zhí)行結(jié)束標(biāo)志,當(dāng)一條功能指令執(zhí)行完成時(shí),M8029=ON。
2)運(yùn)算出錯(cuò)標(biāo)志位M8067:運(yùn)算出錯(cuò)標(biāo)志,當(dāng)運(yùn)算出現(xiàn)錯(cuò)誤時(shí),M8067=ON;D8068:運(yùn)算錯(cuò)誤代號(hào)編號(hào)存儲(chǔ);D8069:錯(cuò)誤發(fā)生的步序號(hào)記錄存儲(chǔ)。當(dāng)PLC由STOP轉(zhuǎn)入RUN時(shí),M8067=OFF,D8068和D8069被清零,若出現(xiàn)運(yùn)算錯(cuò)誤,則M8067=ON,運(yùn)算錯(cuò)誤代號(hào)編號(hào)、錯(cuò)誤發(fā)生的步序號(hào)分別存儲(chǔ)在D8068、D8069中。
3)功能擴(kuò)展用標(biāo)志位部分功能指令在使用時(shí)需要某些固有的特殊輔助繼電器(或稱為功能擴(kuò)展用標(biāo)志位)的配合,這樣才能完成該指令所要完成的功能。如M8160為功能指令A(yù)SC、RS、ASCI、HEX和CCD的功能擴(kuò)展標(biāo)志位。功能擴(kuò)展標(biāo)志位的具體含義和應(yīng)用將在后續(xù)相應(yīng)的功能指令說(shuō)明中加以介紹。
5.3程序流控制功能指令
表5.2程序流控制指令
5.3.1FNC00(CJ)跳轉(zhuǎn)功能指令
1.指令功能當(dāng)跳轉(zhuǎn)條件成立時(shí),程序跳轉(zhuǎn)到跳轉(zhuǎn)指令指針指定的地方。
2.編程格式條件跳轉(zhuǎn)指令的編程應(yīng)用如圖5.7和圖5.8所示。
圖5.7條件跳轉(zhuǎn)指令編程應(yīng)用一
圖5.8條件跳轉(zhuǎn)指令編程應(yīng)用二
3.指令使用說(shuō)明(1)一個(gè)標(biāo)號(hào)在程序中只能出現(xiàn)一次,多條跳轉(zhuǎn)指令可以使用同一標(biāo)號(hào)。(2)定時(shí)器T192~T199、高速計(jì)數(shù)器C235~C255一經(jīng)驅(qū)動(dòng),即使其處理指令被跳過(guò),也會(huì)繼續(xù)工作,其輸出觸點(diǎn)仍能工作。(3)對(duì)于積算型定時(shí)器及計(jì)數(shù)器的復(fù)位指令在跳轉(zhuǎn)程序中時(shí),即使程序執(zhí)行時(shí)跳過(guò)復(fù)位指令,復(fù)位指令仍然被執(zhí)行。
(4)主控指令與跳轉(zhuǎn)指令在使用時(shí)的關(guān)系如圖5.9所示。圖中標(biāo)注A.~E.說(shuō)明如下:A.對(duì)于跳過(guò)主控區(qū)1的跳轉(zhuǎn)指令不受任何限制;B.當(dāng)跳轉(zhuǎn)指令CJP1執(zhí)行時(shí),則從主控區(qū)1外跳轉(zhuǎn)到主控區(qū)1內(nèi),跳轉(zhuǎn)指針P1以下程序中的M0視作ON;C.當(dāng)M0=ON時(shí),主控區(qū)1內(nèi)的跳轉(zhuǎn)指令CJP2才可能執(zhí)行;D.當(dāng)M0=ON時(shí),從主控區(qū)1內(nèi)跳轉(zhuǎn)到主控區(qū)1外的跳轉(zhuǎn)指令CJP3才能執(zhí)行,但主控區(qū)1內(nèi)的MCRN0忽略;E.當(dāng)M1=ON時(shí),從主控區(qū)2內(nèi)跳轉(zhuǎn)到主控區(qū)3內(nèi)的跳轉(zhuǎn)指令CJP4才能執(zhí)行,主控區(qū)3中P4以下程序中的M2視作ON,但主控區(qū)2內(nèi)的MCRN0忽略。
圖?5.9主控指令與跳轉(zhuǎn)指令之間的關(guān)系
5.3.2FNC01(CALL)、FNC02(SRET)子程序調(diào)用、返回指令
1.指令功能CALL指令功能:調(diào)用子程序。SRET指令功能:從子程序返回到主程序。
2.編程格式在程序中應(yīng)用子程序調(diào)用指令,一方面提高了程序的利用效率,節(jié)省了存儲(chǔ)空間,另一方面優(yōu)化了程序的結(jié)構(gòu)。具體應(yīng)用如圖5.10(a)所示,當(dāng)X0=ON時(shí),調(diào)用標(biāo)號(hào)為P1的子程序,直到遇到SRET指令,返回到調(diào)用處,繼續(xù)執(zhí)行主程序。
3.指令使用說(shuō)明(1)子程序必須在主程序之后編寫。(2)?FX2N系列PLC子程序的指針編號(hào)為P0~P62,P64~P127(共127個(gè))。(3)子程序必須以子程序結(jié)束指令(FNC02SRET)結(jié)束程序,并且只能用一次,否則程序不能正常執(zhí)行。
(4)子程序調(diào)用指令有連續(xù)式執(zhí)行和脈沖式執(zhí)行兩種方式,圖5.10(b)主程序中的子程序調(diào)用為脈沖式執(zhí)行方式,即當(dāng)輸入信號(hào)X1由OFF→ON時(shí)執(zhí)行一次CALL(P)P4。CALLP5為連續(xù)式執(zhí)行子程序調(diào)用指令,在子程序1中,當(dāng)輸入信號(hào)X2為ON時(shí),調(diào)用子程序2即程序跳轉(zhuǎn)到P5,直到子程序結(jié)束執(zhí)行到SRET時(shí),返回到子程序1,然后繼續(xù)執(zhí)行子程序1,子程序1執(zhí)行結(jié)束后再返回主程序繼續(xù)執(zhí)行。(5)在子程序中調(diào)用子程序,稱為子程序的嵌套,圖5.10(a)所示為1級(jí)嵌套,圖5.10(b)所示為2級(jí)嵌套。FX2N系列PLC中最多允許5級(jí)嵌套。(6)在子程序中使用定時(shí)器時(shí),其規(guī)定范圍為T192~199和T146~249。
圖5.10子程序調(diào)用的應(yīng)用實(shí)例(a)調(diào)用的子程序;(b)子程序的嵌套
5.3.3FNC03(IRET)、FNC04(EI)和FNC05(DI)中斷指令
1.指令功能IRET指令功能:中斷返回。EI指令功能:允許中斷,允許執(zhí)行中斷程序時(shí),必須打開(kāi)中斷。DI指令功能:禁止中斷,不允許執(zhí)行行中斷程序時(shí),必須關(guān)閉中斷。
2.編程格式1)外部輸入中斷外部輸入中斷在程序應(yīng)用中的格式如圖5.11所示。在主程序執(zhí)行時(shí),當(dāng)X0=OFF時(shí),特殊輔助繼電器M8051=OFF,標(biāo)號(hào)為I101的中斷子程序允許執(zhí)行;當(dāng)X0=ON時(shí),M8051=ON,標(biāo)號(hào)為I101的中斷子程序禁止執(zhí)行。若PLC的外部中斷源輸入端X1由OFF→ON,并且M8051=OFF,標(biāo)號(hào)為I101的中斷子程序就執(zhí)行一次,執(zhí)行完畢后,返回主程序。本程序?qū)崿F(xiàn)將窄脈沖保持的功能,脈沖的寬度由定時(shí)器T1確定。
2)定時(shí)器中斷利用定時(shí)器中斷,每隔50?ms將數(shù)據(jù)寄存器D1中的數(shù)據(jù)加1,并與設(shè)定值K20進(jìn)行比較,如圖5.12所示。當(dāng)X1=OFF時(shí),特殊輔助繼電器M8057=OFF,標(biāo)號(hào)為I750的中斷子程序允許執(zhí)行;當(dāng)X1=ON時(shí),M8057=ON,標(biāo)號(hào)為I750的中斷子程序禁止執(zhí)行。當(dāng)X2=ON時(shí),將M2置ON。在M2為ON期間,每隔50?ms執(zhí)行一次標(biāo)號(hào)為I750的定時(shí)器中斷,子程序?qū)1+1→D1,并將D1的當(dāng)前值與常數(shù)K20比較,達(dá)到20時(shí),將M2復(fù)位,D0停止加1,若此時(shí)X2=OFF,則驅(qū)動(dòng)輸出繼電器Y0輸出。
圖5.11外部輸入中斷子程序的格式
圖5.12定時(shí)器中斷子程序的應(yīng)用實(shí)例
3)計(jì)數(shù)器中斷圖5.13所示是利用高速計(jì)數(shù)器C255實(shí)現(xiàn)的中斷子程序。當(dāng)X3=OFF時(shí),特殊輔助繼電器M8059=OFF,標(biāo)號(hào)為I020的中斷子程序允許執(zhí)行;當(dāng)X3=ON時(shí),M8059=ON,標(biāo)號(hào)為I020的中斷子程序禁止執(zhí)行。當(dāng)M8059=OFF時(shí)允許計(jì)數(shù)器中斷,若高速計(jì)數(shù)器C255的當(dāng)前值與設(shè)定值K100相等時(shí),執(zhí)行中斷程序。輸入信號(hào)X3決定是否允許計(jì)數(shù)器中斷。
圖5.13計(jì)數(shù)器中斷子程序的應(yīng)用實(shí)例
圖5.14中斷允許區(qū)間
3.指令使用說(shuō)明(1)在主程序中有時(shí)需禁止中斷,有時(shí)需開(kāi)啟中斷。允許中斷的主程序必須在功能指令EI和DI之間,DI之后主程序禁止執(zhí)行中斷子程序,如圖5.14所示。(2)當(dāng)多個(gè)中斷信號(hào)同時(shí)有效時(shí),中斷指針編號(hào)小的具有較高的優(yōu)先權(quán),首先執(zhí)行;每個(gè)中斷子程序必須以IRET結(jié)束。中斷程序必須在FEND指令之后。(3)中斷子程序可以進(jìn)行嵌套,最多為2級(jí)嵌套。(4)中斷指針如表5.3、5.4、5.5所示。
表5.3外部輸入中斷指針表
表5.4定時(shí)器中斷指針表
表5.5計(jì)數(shù)器中斷指針表
5.3.4FNC07(WDT)監(jiān)視定時(shí)器指令
1.指令功能看門狗定時(shí)器刷新指令。
2.編程格式WDT指令刷新程序的監(jiān)視定時(shí)器。若掃描周期執(zhí)行時(shí)間超過(guò)監(jiān)視定時(shí)器規(guī)定的某一值時(shí)(如FX2N為200?ms),可編程控制器CPU出錯(cuò)指示燈亮同時(shí)停止工作。在這種情況下應(yīng)將WDT指令插到合適的步序中刷新監(jiān)視定時(shí)器,以使程序能正常運(yùn)行。例如將一個(gè)掃描周期為360?ms的程序分為兩個(gè)180?ms的程序,在兩個(gè)程序之間插入WDT指令,如圖5.15所示。
圖5.15監(jiān)視定時(shí)器的應(yīng)用實(shí)例
3.指令使用說(shuō)明(1)?WDT為連續(xù)執(zhí)行型指令,WDT(P)為脈沖執(zhí)行型指令,其梯形圖和波形圖如圖5.15所示。(2)通過(guò)改寫數(shù)據(jù)寄存器D8000的內(nèi)容,可改變監(jiān)視器的監(jiān)視時(shí)間,如圖5.16所示。執(zhí)行該指令后監(jiān)視器將按新設(shè)定的監(jiān)視時(shí)間(400?ms)監(jiān)視程序。
圖5.16監(jiān)視器監(jiān)視時(shí)間的修改
(3)對(duì)于復(fù)雜的控制系統(tǒng),系統(tǒng)會(huì)由多種特殊擴(kuò)展模塊所構(gòu)成。PLC由STOP→RUN時(shí),進(jìn)行的緩沖存儲(chǔ)器初始化時(shí)間會(huì)增加,掃描時(shí)間會(huì)延長(zhǎng)。而在執(zhí)行多條FROM/TO指令或向多個(gè)緩沖存儲(chǔ)區(qū)傳送數(shù)據(jù)時(shí),掃描時(shí)間也會(huì)延長(zhǎng)。這時(shí)將會(huì)導(dǎo)致監(jiān)視器可能出錯(cuò)。因此應(yīng)在起始步的附近添加上述程序,得以延長(zhǎng)監(jiān)視器的監(jiān)視時(shí)間。(4)當(dāng)CJ指令指針的步序號(hào)比CJ指令小時(shí),可在指針后編寫WDT指令延長(zhǎng)監(jiān)視時(shí)間,或在FOR-NEXT指令之間編程時(shí)使用該指令。
5.3.5FNC08(FOR)、FNC09(NEXT)循環(huán)指令1.指令功能FOR指令功能:重復(fù)循環(huán)開(kāi)始。NEXT指令功能:重復(fù)循環(huán)結(jié)束。
2.編程格式循環(huán)指令在程序應(yīng)用中的格式如圖5.17所示。
圖5.17循環(huán)指令的格式
3.指令使用說(shuō)明(1)?FOR指令和NEXT指令必須成對(duì)出現(xiàn)。(2)在FOR-NEXT之間的程序重復(fù)執(zhí)行次數(shù)為N(N=1~32767,當(dāng)N<1時(shí)被看作1),其中N由FOR指令后的操作數(shù)指定。(3)循環(huán)程序[C]執(zhí)行5次后,向NEXT指令(1)之后的程序轉(zhuǎn)移。若D1Z=7,則相應(yīng)的循環(huán)程序[B]執(zhí)行7次,[B]程序合計(jì)執(zhí)行了5×7=35次。若K2X1=8,X0=OFF,則循環(huán)程序[A]執(zhí)行8次,[A]循環(huán)程序合計(jì)執(zhí)行了5×7×8=280次。
(4)?FOR-NEXT循環(huán)程序可以嵌套5層,圖5.17中采用了3層嵌套。(5)當(dāng)循環(huán)程序循環(huán)次數(shù)多時(shí),PLC的掃描時(shí)間會(huì)延長(zhǎng),將會(huì)造成監(jiān)視定時(shí)器出錯(cuò),此時(shí)應(yīng)采用WDT指令將程序分開(kāi),或者改變監(jiān)視器的監(jiān)視時(shí)間。(6)當(dāng)X0=ON時(shí),將跳過(guò)循環(huán)程序[A]。
5.3.6FNC06(FEND)主程序結(jié)束指令
1.指令功能主程序結(jié)束。
2.編程格式主程序結(jié)束指令在程序應(yīng)用中的格式如圖5.18所示。
圖5.18主程序結(jié)束指令的格式(a)在跳轉(zhuǎn)中的應(yīng)用;(b)在子程序調(diào)用中的應(yīng)用
3.指令使用說(shuō)明(1)子程序和中斷程序應(yīng)在FEND指令后編程,有多個(gè)FEND指令時(shí),應(yīng)在最后一個(gè)FEND指令之后,END指令之前編程。(2)若子程序或者中斷程序中出現(xiàn)FEND指令,或FOR和NEXT之間的循環(huán)程序出現(xiàn)FEND指令,則程序?qū)?huì)出錯(cuò)。
5.4傳送和比較指令
表5.6傳送和比較指令
5.4.1FNC10(CMP)比較指令和FNC11(ZCP)區(qū)間比較指令
1.指令功能比較指令功能:將源操作數(shù)[S1·]和[S2·]的數(shù)據(jù)進(jìn)行比較,比較結(jié)果送入目標(biāo)操作數(shù)[D·]中,然后做出相應(yīng)的驅(qū)動(dòng)。區(qū)間比較指令功能:將源操作數(shù)[S1·]、[S2·]和[S3·]進(jìn)行比較,比較結(jié)果送入目標(biāo)操作數(shù)[D·]中,然后做出相應(yīng)的驅(qū)動(dòng)。操作數(shù):[S1·]、[S2·]和[S3·]的操作數(shù)是K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z;目標(biāo)操作數(shù)[D·]是Y、M、S。
2.編程格式比較指令和區(qū)間比較指令在程序應(yīng)用中的格式分別如圖5.19和圖5.20所示。
圖5.19比較指令的格式
圖5.20區(qū)間比較指令的格式
圖5.21比較結(jié)果復(fù)位的格式
3.指令使用說(shuō)明(1)?CMP和ZCP比較的數(shù)據(jù)是有符號(hào)的二進(jìn)制數(shù),如-8<1。(2)ZCP指令的源操作數(shù)[S1]不能大于[S2],例如[S1]=K100,[S2]=K90,則將[S2]當(dāng)作K100來(lái)計(jì)算。(3)若M0被指定為目標(biāo)操作數(shù),則M0、M1和M2自動(dòng)被占用,若M3被指定為目的操作數(shù),則M3、M4和M5自動(dòng)被占用。(4)這兩種指令均有連續(xù)執(zhí)行型和脈沖執(zhí)行型,操作數(shù)均可為16位或32位操作數(shù)。
5.4.2FNC12(MOV)數(shù)據(jù)傳送指令
1.指令功能指令功能:將源操作數(shù)[S·]傳送到目標(biāo)操作數(shù)[D·]中,源操作數(shù)內(nèi)容保持不變。操作數(shù):源操作數(shù)[S·]是K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z;目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D、V、Z。
2.編程格式16位數(shù)據(jù)傳送指令在程序應(yīng)用中的格式如圖5.22(a)所示,當(dāng)X1=ON時(shí),將K4X10的內(nèi)容傳送到D0中,K100傳送到D1中。32位數(shù)據(jù)傳指令在程序應(yīng)用中的格式如圖5.22(b)所示,當(dāng)X0=ON時(shí),將計(jì)數(shù)器C1的當(dāng)前值傳送到(D11,D10)中。
圖5.22傳送指令的格式(a)?16位傳送指令的格式;(b)?32位傳送指令的格式
3.指令使用說(shuō)明(1)該指令執(zhí)行時(shí),常數(shù)自動(dòng)轉(zhuǎn)換成二進(jìn)制數(shù)。(2)?MOV為連續(xù)/脈沖執(zhí)行型指令。操作數(shù)均可為16位或32位操作數(shù)。(3)源操作數(shù)為計(jì)數(shù)器時(shí)為32位操作數(shù)。
5.4.3FNC13(SMOV)移位傳送指令
1.指令功能指令功能:將數(shù)據(jù)進(jìn)行分配或者合成。操作數(shù):源操作數(shù)[S·]是K、H、KnY、KnM、KnS、T、C、D、V、Z;目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D、V、Z。
2.編程格式移位傳送指令在程序應(yīng)用中的格式及操作過(guò)程如圖5.23所示。當(dāng)輸入信號(hào)X0為ON時(shí),首先將源操作數(shù)D0中的二進(jìn)制數(shù)轉(zhuǎn)換成4位BCD碼,然后將BCD碼移位傳送。源操作數(shù)D0中BCD碼的右起第4位(由m1確定,m1=4)開(kāi)始的2位(由m2確定,m2=2)移位并傳送到目標(biāo)操作數(shù)D1的第3位(由n確定,n=3)和第2位。D1的其余位保持不變,然后將D1自動(dòng)換成二進(jìn)制碼。
圖5.23位移傳送指令的格式及操作過(guò)程
3.指令使用說(shuō)明(1)?m1、m2和n是K、H,范圍是1~4。(2)該指令為連續(xù)/脈沖執(zhí)行型指令。(3)若SMOV指令的操作數(shù)的范圍為0~9999,否則會(huì)出現(xiàn)錯(cuò)誤。(4)特殊輔助繼電器M8168驅(qū)動(dòng)后執(zhí)行SMOV指令時(shí),源操作數(shù)和目標(biāo)操作數(shù)不進(jìn)行二進(jìn)制和BCD碼的轉(zhuǎn)換,照原樣以4位為單位進(jìn)行移位傳送操作。
5.4.4FNC14(CML)取反傳送指令
1.指令功能指令功能:將源操作數(shù)[S·]逐位取反(0→1,1→0)后,向目標(biāo)操作數(shù)[D·]傳送。操作數(shù):源操作數(shù)[S·]是K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z、X、Y、M、S;目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D、V、Z。
2.編程格式取反傳送指令在程序應(yīng)用中的格式如圖5.24所示。
圖5.24取反傳送指令的格式
3.指令使用說(shuō)明該指令可為連續(xù)/脈沖執(zhí)行型指令。操作數(shù)均為16位或32位操作數(shù)。
5.4.5FNC15(BMOV)塊傳送指令
1.指令功能指令功能:將源操作數(shù)[S·]指定的成批數(shù)據(jù)傳送到目標(biāo)操作數(shù)[D·]中,傳送數(shù)據(jù)的長(zhǎng)度由源操作數(shù)[S·]的數(shù)據(jù)類型和n確定。操作數(shù):源操作數(shù)[S·]是K、H、KnX、KnY、KnM、KnS、T、C、D;目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D;n是K、H,取值范圍應(yīng)是1≤n≤512。
2.編程格式塊傳送指令在程序應(yīng)用中的格式如圖5.25所示。
當(dāng)X0=ON時(shí)執(zhí)行塊傳送指令,將D4、D5、D6、D7的內(nèi)容傳送到D10、D11、D12、D13中,其中傳送數(shù)據(jù)寄存器的個(gè)數(shù)由n確定。
圖5.25塊傳送指令的格式
3.指令使用說(shuō)明(1)?BMOV為連續(xù)/脈沖執(zhí)行型指令。(2)如用到需要指定位數(shù)的位元件時(shí),源和目標(biāo)的指定位數(shù)必須相等,如圖5.26所示。
圖5.26塊傳送指令的應(yīng)用實(shí)例(一)
(3)源操作數(shù)和目標(biāo)操作數(shù)的地址發(fā)生重疊時(shí),為了防止源操作數(shù)沒(méi)有傳送前被改寫,PLC將自動(dòng)確定傳送順序,如圖5.27所示。
(4)當(dāng)特殊輔助繼電器M8024=ON時(shí),數(shù)據(jù)傳送方向反轉(zhuǎn),即由目標(biāo)向源傳送。
圖5.27塊傳送指令的應(yīng)用實(shí)例(二)
5.4.6FNC16(FMOV)多點(diǎn)傳送指令
1.指令功能指令功能:將源操作數(shù)[S·]向指定目標(biāo)操作數(shù)[D·]開(kāi)始的n個(gè)目標(biāo)傳送數(shù)據(jù),且目標(biāo)操作數(shù)的內(nèi)容完全相同。操作數(shù):源操作數(shù)[S·]是K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z;目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D;n是K、H,其取值范圍是1≤n≤512。
2.編程格式多點(diǎn)傳送指令在程序應(yīng)用中的格式如圖5.28所示??梢岳肍MOV指令對(duì)D0~D3的4個(gè)數(shù)據(jù)寄存器進(jìn)行清零。圖中,當(dāng)M8002=ON時(shí),D0~D3的內(nèi)容被清零。
圖5.28多點(diǎn)傳送指令的格式
3.指令使用說(shuō)明(1)指令可為連續(xù)/脈沖執(zhí)行型指令。(2)若元件編號(hào)超出允許范圍,數(shù)據(jù)僅傳送到允許范圍的元件內(nèi)。
5.4.7FNC17(XCH)交換指令
1.指令功能指令功能:將目標(biāo)操作數(shù)[D1·]和[D2·]指定的兩個(gè)目標(biāo)元件存儲(chǔ)的數(shù)據(jù)進(jìn)行相互交換。操作數(shù):目標(biāo)操作數(shù)[D1·]和[D2·]是KnY、KnM、KnS、T、C、D、V、Z。
2.編程格式數(shù)據(jù)交換指令在程序應(yīng)用中的格式如圖5.29所示。當(dāng)X0=ON時(shí),執(zhí)行XCH指令,D1和D0中存儲(chǔ)的16位數(shù)據(jù)相互交換。
圖5.29XCH指令的格式
3.指令使用說(shuō)明(1)?XCH為連續(xù)/脈沖執(zhí)行型指令;操作數(shù)為16位或32位。(2)若特殊輔助繼電器M8160=ON,且兩個(gè)操作數(shù)為同一目標(biāo)地址時(shí),該指令執(zhí)行會(huì)使目標(biāo)元件的高8位和低8位相互交換,與SWAP指令的功能相同,如圖5.30所示。若M8160=ON時(shí)兩個(gè)操作數(shù)的元件不同時(shí),出錯(cuò)標(biāo)志M8067置1,不執(zhí)行該指令。
圖5.30XCH與SWAP等效的應(yīng)用實(shí)例
5.4.8FNC18(BCD)變換指令和FNC19(BIN)變換指令
1.指令功能BCD指令功能:將源操作數(shù)[S·]指定的二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼,存入目標(biāo)操作數(shù)[D·]。BIN指令功能:將源操作數(shù)[S·]指定的BCD碼轉(zhuǎn)換成二進(jìn)制數(shù),存入目標(biāo)操作數(shù)[D·]。操作數(shù):源操作數(shù)[S·]是KnX、KnY、KnM、KnS、T、C、D、V、Z;目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D、V、Z。
2.編程格式BCD指令和BIN指令在程序應(yīng)用中的格式如圖5.31所示。
當(dāng)M8002=ON時(shí),執(zhí)行FMOV指令,對(duì)D1清零;當(dāng)X0=ON,則執(zhí)行BIN指令,將輸入繼電器X27~X10組成的4位BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)傳送入D1中;若X1=ON,則執(zhí)行BCD指令,將D1的二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼由Y17~Y0輸出。
圖5.31BIN和BCD指令的格式
3.指令使用說(shuō)明(1)?BIN、BCD為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位或32位。(2)?BCD碼的數(shù)值范圍:16位操作時(shí)為0~9999,32位操作時(shí)為0~99999999。
5.5四則運(yùn)算和邏輯運(yùn)算指令
表5.7四則運(yùn)算和邏輯運(yùn)算指令
5.5.1FNC20(ADD)二進(jìn)制加法指令
1.指令功能指令功能:將源操作數(shù)[S1·]和[S2·]進(jìn)行二進(jìn)制加法運(yùn)算,將結(jié)果存入目標(biāo)操作數(shù)[D·]。操作數(shù):源操作數(shù)[S1·]和[S2·]是K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z;目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D、V、Z。
2.編程格式二進(jìn)制加法指令在程序應(yīng)用中的格式如圖5.32所示。在X10由OFF到ON上升沿,執(zhí)行ADD指令,即K200+K4X0(X17~X0)→K4Y0。
圖5.32ADD指令的格式
3.指令使用說(shuō)明(1)?ADD為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位或32位。(2)?ADD指令操作數(shù)的數(shù)據(jù)類型是有符號(hào)的數(shù)值。各數(shù)據(jù)的最高位是符號(hào)位(0為正,1為負(fù))。各數(shù)據(jù)的運(yùn)算是以代數(shù)形式進(jìn)行運(yùn)算,如-17+10=-7。(3)ADD指令執(zhí)行后,若運(yùn)算結(jié)果為0,則M8020(零標(biāo)志位)為ON,若運(yùn)算結(jié)果大于32767(16位數(shù)據(jù))或2147483647(32位數(shù)據(jù)),則M8022(進(jìn)位標(biāo)志)為ON;若運(yùn)算結(jié)果小于-32768(16位數(shù)據(jù))或-2147483648(32位數(shù)據(jù)),則M8021(借位標(biāo)志)為ON。
(4)源操作數(shù)和目標(biāo)操作數(shù)可以指定相同的編號(hào),如圖5.33所示。初始時(shí)D0=0,第1次掃描時(shí)D0(0)+2→D0(2);第2次掃描時(shí)D0(2)+2→D0(4);第n次掃描時(shí)D0(2n-2)+2→D0(2×n)。
圖5.33ADD連續(xù)型指令的格式
5.5.2FNC21(SUB)二進(jìn)制減法指令
1.指令功能指令功能:將源操作數(shù)[S1·]和[S2·]進(jìn)行二進(jìn)制減法運(yùn)算,將結(jié)果存入目標(biāo)操作數(shù)[D·]。操作數(shù):源操作數(shù)[S1·]、[S2·]是K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z;目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D、V、Z。
2.編程格式二進(jìn)制減法指令在程序應(yīng)用中的格式如圖5.34所示。當(dāng)X10=ON,執(zhí)行二進(jìn)制減法(SUB)指令,即(D1)-(D2)→K4Y0(Y17~Y0)。
圖5.34二進(jìn)制減法指令的格式
3.指令使用說(shuō)明使用要求與ADD指令相同
5.5.3FNC22(MUL)二進(jìn)制乘法指令
1.指令功能指令功能:將源操作數(shù)[S1·]和[S2·]進(jìn)行二進(jìn)制乘法運(yùn)算,將結(jié)果存入目標(biāo)操作數(shù)[D·]。操作數(shù):源操作數(shù)[S1·]、[S2·]是K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z;目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D、V、Z。
2.編程格式二進(jìn)制16位運(yùn)算的乘法指令在程序應(yīng)用中的格式如圖5.35(a)所示,當(dāng)X10由OFF變?yōu)镺N時(shí),執(zhí)行一次二進(jìn)制乘法運(yùn)算,即(D0)×K4Y0→(D2,D1);二進(jìn)制32位運(yùn)算的乘法指令在程序應(yīng)用中的格式如圖5.35(b)所示,當(dāng)X10由OFF變?yōu)镺N時(shí),執(zhí)行一次二進(jìn)制乘法運(yùn)算,即(D1,D0)×K8Y0→(D7,D6,D5,D4)。
圖5.35二進(jìn)制乘法指令的格式(a)二進(jìn)制16位乘法運(yùn)算指令;(b)二進(jìn)制32位乘法運(yùn)算指令
3.指令使用說(shuō)明(1)二進(jìn)制乘法指令為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位或32位。(2)對(duì)于16位MUL指令,若目標(biāo)操作數(shù)是KnY、KnM、KnS時(shí),可以進(jìn)行K1~K8的指定。當(dāng)指定為K4時(shí),只能得到16位運(yùn)算結(jié)果的低16位。(3)對(duì)于32位MUL指令,若目標(biāo)操作數(shù)是KnY、KnM、KnS,則只能得到32位的運(yùn)算結(jié)果,因此最好采用浮點(diǎn)數(shù)運(yùn)算。(4)執(zhí)行32位數(shù)據(jù)操作指令時(shí),目標(biāo)操作數(shù)不能指定為V和Z。
5.5.4FNC23(DIV)二進(jìn)制除法指令
1.指令功能指令功能:將源操作數(shù)[S1·]和[S2·]進(jìn)行二進(jìn)制除法運(yùn)算,將結(jié)果存入目標(biāo)操作數(shù)[D·]。操作數(shù):源操作數(shù)[S1·]、[S2?]是K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z;目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D、V、Z。
2.編程格式二進(jìn)制16位除法運(yùn)算指令在程序應(yīng)用中的格式如圖5.36(a)所示,當(dāng)X0=ON時(shí),執(zhí)行二進(jìn)制除法指令,即(D0)÷200的商存入(D1),余數(shù)存入下一個(gè)元件(D2)中;二進(jìn)制32位除法運(yùn)算指令的格式說(shuō)明如圖5.36(b)所示,當(dāng)X0=ON時(shí),執(zhí)行二進(jìn)制除法指令,即(D1,D0)÷(D3,D2)的商存入(D9,D8),余數(shù)存入下一個(gè)元件(D11,D10)。
圖5.36二進(jìn)制除法指令的格式(a)二進(jìn)制16位除法運(yùn)算指令;(b)二進(jìn)制32位除法運(yùn)算指令
3.指令使用說(shuō)明(1)二進(jìn)制除法指令為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位或32位。(2)目標(biāo)操作數(shù)是KnY、KnM、KnS時(shí),同二進(jìn)制乘法指令。(3)執(zhí)行32位數(shù)據(jù)操作指令時(shí),目標(biāo)操作數(shù)不能指定為Z。(4)若除數(shù)為“0”則出錯(cuò),該指令不執(zhí)行。
5.5.5FNC24(INC)加1指令和FNC25(DEC)減1指令
1.指令功能INC指令功能:將目標(biāo)操作數(shù)[D·]指定的數(shù)據(jù)加1。DEC指令功能:將目的操作數(shù)[D·]指定的數(shù)據(jù)減1。操作數(shù):INC和DEC目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D、V、Z。
2.編程格式二進(jìn)制加1指令和二進(jìn)制減1指令在程序應(yīng)用中的格式分別如圖5.37和圖5.38所示。
圖5.37二進(jìn)制加1指令的格式
圖5.38二進(jìn)制減1指令的格式
上面兩圖中,當(dāng)X10由OFF→ON時(shí)(D0)+1→(D0);當(dāng)X1由OFF→ON時(shí)(D1)?1→(D1)。
3.指令使用說(shuō)明(1)?INC指令和DEC指令均為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位或32位。(2)?INC指令和DEC指令對(duì)于借位標(biāo)志位和進(jìn)位標(biāo)志位沒(méi)有影響。
5.5.6FNC26(WAND)、FNC27(WOR)和FNC28(WXOR)字邏輯指令
1.指令功能WAND(字邏輯與)指令功能:將源操作數(shù)[S1·]和[S2·]的各位數(shù)據(jù)依次求邏輯與運(yùn)算,結(jié)果存入目標(biāo)操作數(shù)[D·]。WOR(字邏輯或)指令功能:將源操作數(shù)[S1·]和[S2·]的各位數(shù)據(jù)依次求邏輯或運(yùn)算,結(jié)果存入目標(biāo)操作數(shù)[D·]。WXOR(字邏輯異或)指令功能:將源操作數(shù)[S1·]和[S2·]的各位數(shù)據(jù)依次求邏輯異或運(yùn)算,結(jié)果存入目標(biāo)操作數(shù)[D·]。操作數(shù):字邏輯與、或、異或運(yùn)算指令的源操作數(shù)[S1·]、[S2·]是K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z;目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D、V、Z。
2.編程格式字邏輯與運(yùn)算指令在程序應(yīng)用中的格式如圖5.39所示,當(dāng)X0=ON時(shí),執(zhí)行16位邏輯與運(yùn)算指令,即(D2)∧(D1)→(D0);當(dāng)X1=ON時(shí),執(zhí)行32位邏輯與運(yùn)算指令,即(D1,D0)∧(D3,D2)→(D9,D8)。
圖5.39邏輯與運(yùn)算指令的格式(a)?16位邏輯與運(yùn)算指令;(b)?32位邏輯與運(yùn)算指令
3.指令使用說(shuō)明(1)字邏輯與、或及異或運(yùn)算指令均為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位或32位。(2)字邏輯或、邏輯異或運(yùn)算指令同邏輯與運(yùn)算指令相似
5.5.7FNC29(NEG)求補(bǔ)運(yùn)算指令
1.指令功能指令功能:將目標(biāo)操作數(shù)[D·]的各位數(shù)據(jù)求反,將結(jié)果加1后存入目標(biāo)操作數(shù)[D·]。操作數(shù):目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D、V、Z。
2.編程格式求補(bǔ)運(yùn)算在程序應(yīng)用中的格式如圖5.40所示。
由數(shù)值的補(bǔ)碼表示方法知,對(duì)于正數(shù)進(jìn)行求補(bǔ)運(yùn)算可得正數(shù)的相反數(shù);對(duì)于負(fù)數(shù)求補(bǔ)運(yùn)算可得到負(fù)數(shù)的絕對(duì)值。圖5.40中BON指令為指定位判別指令,當(dāng)(D3、D2)的最高位為1時(shí),M1=ON,否則M1=OFF。當(dāng)M1由OFF→ON時(shí),則執(zhí)行求補(bǔ)運(yùn)算指令,即求(D3,D2)的絕對(duì)值。
圖5.40求補(bǔ)運(yùn)算指令在負(fù)數(shù)求絕對(duì)值中的格式
3.指令說(shuō)明(1)?NEG指令為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位或32位。(2)?NEG指令對(duì)于借位標(biāo)志位和進(jìn)位標(biāo)志位沒(méi)有影響。
5.6循環(huán)移位和移位指令
表5.8循環(huán)移位和移位指令
5.6.1FNC30(ROR)循環(huán)右移指令和FNC31(ROL)循環(huán)左移指令
1.指令功能ROR指令功能:將目標(biāo)操作數(shù)[D·]的數(shù)據(jù)循環(huán)右移n位,將結(jié)果存入目標(biāo)操作數(shù)[D·]。ROL指令功能:將目標(biāo)操作數(shù)[D·]的數(shù)據(jù)循環(huán)左移n位,將結(jié)果存入目標(biāo)操作數(shù)[D·]。操作數(shù):ROR指令和ROL指令的目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D、V、Z;n的取值范圍是0≤n≤16(16位指令)或0≤n≤32(32位指令)。
2.編程格式循環(huán)右移指令在程序應(yīng)用中的格式如圖5.41所示,當(dāng)X0由OFF→ON時(shí)執(zhí)行循環(huán)右移指令,即(D0)循環(huán)右移4位,最終位存入進(jìn)位標(biāo)志位中。
圖5.41循環(huán)右移指令的格式
循環(huán)左移指令在程序應(yīng)用中的格式如圖5.42所示,當(dāng)X1由OFF→ON時(shí)執(zhí)行循環(huán)左移指令,即(D1)循環(huán)左移4位,最終位存入進(jìn)位標(biāo)志位中。32位循環(huán)移位指令與此類似。
圖5.42循環(huán)左移指令的格式
3.指令使用說(shuō)明(1)?ROR指令和ROL指令為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位或32位;(2)若目標(biāo)是KnY、KnM、KnS時(shí),只有K4(16位指令)和K8(32位指令)有效;(3)循環(huán)移位指令影響進(jìn)位標(biāo)志位,最終位被移入進(jìn)位標(biāo)志位中。
5.6.2FNC32(RCR)帶進(jìn)位循環(huán)右移位指令和FNC33(RCL)帶進(jìn)位循環(huán)左移位指令
1.指令功能RCR指令功能:將目標(biāo)操作數(shù)[D·]的數(shù)據(jù)和進(jìn)位標(biāo)志位共同組成的數(shù)據(jù)循環(huán)右移n位。RCL指令功能:將目標(biāo)操作數(shù)[D·]的數(shù)據(jù)和進(jìn)位標(biāo)志位共同組成的數(shù)據(jù)循環(huán)左移n位。操作數(shù):RCR指令和RCL指令的目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D、V、Z;n的取值范圍是0≤n≤16(16位指令)或0≤n≤32(32位指令)。
2.編程格式帶進(jìn)位循環(huán)右移指令在程序應(yīng)用中的格式如圖5.43所示,當(dāng)X0由OFF→ON時(shí),執(zhí)行帶進(jìn)位循環(huán)右移指令,即(M8022,D0)循環(huán)右移4位。
圖5.43帶進(jìn)位循環(huán)右移指令的格式
圖5.44帶進(jìn)位循環(huán)左移指令的格式
3.指令說(shuō)明(1)?RCR指令和RCL指令為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位或32位。(2)若目標(biāo)是KnY、KnM、KnS時(shí),只有K4(16位指令)和K8(32位指令)有效。
5.6.3FNC34(SFTR)位右移指令和FNC35(SFTL)位左移指令
1.指令功能SFTR指令功能:將目標(biāo)操作數(shù)[D·]指定的移位寄存器(移位寄存器的長(zhǎng)度為n1位)右移位n2位,移位后的數(shù)據(jù)由源操作數(shù)[S·]指定的數(shù)據(jù)填補(bǔ)。SFTL指令功能:將目標(biāo)操作數(shù)[D·]指定的移位寄存器(移位寄存器的長(zhǎng)度為n1位)左移位n2位,移位后的數(shù)據(jù)由源操作數(shù)[S·]指定的數(shù)據(jù)填補(bǔ)。操作數(shù):SFTR指令和SFTL指令的源操作數(shù)[S·]是X、Y、M、S;目標(biāo)操作數(shù)[D·]是Y、M、S;n1、n2的取值范圍是0<n2<n1<1024。
2.編程格式位右移指令和位左移指令在程序應(yīng)用中的格式如圖5.45和圖5.46所示。當(dāng)X0從OFF→ON時(shí),執(zhí)行右移位指令。當(dāng)X1從OFF→ON時(shí),執(zhí)行左移位指令。
圖5.45右移位指令的格式
圖5.46左移位指令的格式
3.指令使用說(shuō)明SFTR指令和SFTL指令為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位。
5.6.4FNC36(WSFR)字右移指令和FNC37(WSFL)字左移指令
1.指令功能WSFR指令功能:將目標(biāo)操作數(shù)[D·]指定的移位寄存器(移位寄存器的長(zhǎng)度為n1個(gè)字)右移位n2個(gè)字,移位后的數(shù)據(jù)由源操作數(shù)[S·]指定的數(shù)據(jù)填充。WSFL指令功能:將目標(biāo)操作數(shù)[D·]指定的移位寄存器(移位寄存器的長(zhǎng)度為n1個(gè)字)左移位n2個(gè)字,移位后的數(shù)據(jù)由源操作數(shù)[S·]指定的數(shù)據(jù)填充。操作數(shù):WSFR指令和WSFL指令的源操作數(shù)[S·]是KnX、KnY、KnM、KnS、T、C、D;目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D;n1、n2的取值范圍是0<n2<n1<512。
2.編程格式字右移指令在程序應(yīng)用中的格式如圖5.47所示,當(dāng)X0從OFF→ON時(shí),執(zhí)行該指令。
圖5.47字右移指令的格式
字左移指令在程序應(yīng)用中的格式如圖5.48所示,當(dāng)X1從OFF→ON時(shí),執(zhí)行該指令。
圖5.48字左移指令的格式
3.指令使用說(shuō)明(1)?WSFR指令和WSFL指令為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位。(2)源操作數(shù)和目標(biāo)操作數(shù)是KnX、KnY、KnM、KnS時(shí),則n1和n2是位元件的組數(shù)(4位為1個(gè)單元組),如圖5.49所示。
圖5.49字左移指令位元件的格式
5.6.5FNC38(SFWR)移位寫入指令和FNC39(SFRD)移位讀取指令
1.指令功能SFWR指令功能:將源操作數(shù)[S·]指定的數(shù)據(jù)寫入到目標(biāo)操作數(shù)[D·]指示器指示的元件中。該指令每執(zhí)行一次,指示器加1,直到指示的內(nèi)容達(dá)到n-1時(shí)不再執(zhí)行;SFRD指令功能:將源操作數(shù)[S·]指定的n-1個(gè)數(shù)據(jù)序列依次移入到目標(biāo)操作數(shù)[D·]指定的元件中。該指令每執(zhí)行一次,源操作數(shù)指定的數(shù)據(jù)序列向右移一字,直到指示器為零。
操作數(shù):SFWR指令的源操作數(shù)[S·]是K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z;目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D;n的取值范圍是2≤n≤512。SFRD指令的源操作數(shù)[S·]是KnY、KnM、KnS、T、C、D;目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D、V、Z;n的取值范圍是2≤n≤512。
2.編程格式移位寫入指令在程序應(yīng)用中的格式如圖5.50所示。當(dāng)X0由OFF→ON時(shí),源D0的數(shù)據(jù)寫入D11,而D10變?yōu)?(指針);當(dāng)X0再次變ON時(shí),則D0的數(shù)據(jù)寫入D12,D10中數(shù)據(jù)變?yōu)?。依次類推,當(dāng)D10的內(nèi)容為9時(shí),則不再執(zhí)行且進(jìn)位標(biāo)志位M8022置1。
圖5.50移位寫入指令的編程格式
移位讀取指令在程序應(yīng)用中的格式如圖5.51所示,當(dāng)X1由OFF→ON時(shí),將D11的數(shù)據(jù)傳送到字元件D0,同時(shí)指針D10減1,單元序列中的數(shù)據(jù)向右移動(dòng)1個(gè)字;當(dāng)X0由OFF→ON時(shí),將D12的數(shù)據(jù)傳送到字元件D0,指針D10再減1,單元序列中的數(shù)據(jù)向右再移動(dòng)1個(gè)字;依次類推,當(dāng)D10為0時(shí),則不再執(zhí)行且零標(biāo)志位M8020置1。
圖5.51移位讀取指令的格式
3.指令使用說(shuō)明SFWR指令和SFRD指令為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位。
5.7數(shù)據(jù)處理指令
表5.9數(shù)據(jù)處理指令表
5.7.1FNC40(ZRST)區(qū)間復(fù)位指令
1.指令功能指令功能:將目標(biāo)操作數(shù)[D1·]和[D2·]區(qū)間范圍內(nèi)的元件復(fù)位。操作數(shù):目標(biāo)操作數(shù)[D1·]、[D2·]是Y、M、S、T、C、D。
2.編程格式區(qū)間復(fù)位指令在程序應(yīng)用中的格式如圖5.52所示,當(dāng)M8002為ON時(shí),執(zhí)行區(qū)間復(fù)位指令。
圖5.52區(qū)間復(fù)位指令的格式
3.指令使用說(shuō)明(1)ZRST指令為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位。(2)目標(biāo)操作數(shù)[D1·]、[D2·]必須使用同一種類的軟元件,且[D1·]編號(hào)≤[D2·]編號(hào)。(3)?ZRST指令以16位指令執(zhí)行,但是[D1·]、[D2·]也可同時(shí)指定為32位計(jì)數(shù)器。(4)對(duì)于位元件(Y、M、S)和字元件(T、C、D)單獨(dú)復(fù)位可以使用RST指令。(5)對(duì)于位組合元件KnY、KnM、KnS的復(fù)位,可以使用多點(diǎn)傳送指令(FMOV),將0寫入其中,如圖5.28所示。
5.7.2FNC41(DECO)譯碼指令
1.指令功能指令功能:根據(jù)源操作數(shù)[S·]指定的元件為首的n位數(shù)據(jù)的數(shù)值(m),將目標(biāo)操作數(shù)[D·]指定的元件為首的第m位元件置1。操作數(shù):源操作數(shù)[S·]是K、H、T、C、D、X、Y、M、S、V、Z;目標(biāo)操作數(shù)[D·]是Y、M、S、T、C、D。
2.編程格式譯碼指令在程序應(yīng)用中的格式如圖5.53所示,當(dāng)X0=ON時(shí),執(zhí)行該指令。
圖5.53譯碼指令的格式(a)位元件的譯碼指令;(b)字元件的譯碼指令
3.指令使用說(shuō)明(1)?DECO指令為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位。(2)目標(biāo)操作數(shù)是位元件,n的取值范圍是1≤n≤8;目標(biāo)操作數(shù)是字元件,n的取值范圍是1≤n≤4,n=0時(shí)不處理,n在取值范圍以外時(shí)運(yùn)算錯(cuò)誤標(biāo)志動(dòng)作。(3)驅(qū)動(dòng)輸入由ON→OFF時(shí),指令停止執(zhí)行,正在動(dòng)作的譯碼輸出保持動(dòng)作。
5.7.3FNC42(ENCO)編碼指令
1.指令功能指令功能:將源操作數(shù)[S·]指定的元件為首的2n-1位中,從最高位開(kāi)始第一個(gè)為1的位編號(hào)寫入目標(biāo)操作數(shù)[D·]。操作數(shù):源操作數(shù)[S·]是X、Y、M、S、T、C、D、V、Z;目標(biāo)操作數(shù)[D·]是T、C、D、V、Z。
2.編程格式編碼指令在程序應(yīng)用中的格式如圖5.54所示。當(dāng)X0=ON時(shí),執(zhí)行該指令。
圖5.54編碼指令的格式(a)位元件的編碼指令;(b)字元件的編碼指令
3.指令使用說(shuō)明與譯碼指令基本相同。
5.7.4FNC43(SUM)ON位數(shù)指令
1.指令功能指令功能:將源操作數(shù)[S·]的數(shù)據(jù)中“1”的個(gè)數(shù)存入目標(biāo)操作數(shù)[D·]。操作數(shù):源操作數(shù)[S·]是K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z;目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D、V、Z。
2.編程格式ON位數(shù)指令在程序應(yīng)用中的格式如圖5.55所示。當(dāng)X0=ON時(shí),執(zhí)行ON位數(shù)指令,即統(tǒng)計(jì)D1中“1”的總數(shù)(4個(gè)),然后將其存入數(shù)據(jù)寄存器D0。
圖5.55ON位數(shù)指令的格式
3.指令使用說(shuō)明(1)?SUM指令為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位。(2)若SUM指令源操作數(shù)指定的元件中數(shù)據(jù)為0,則零標(biāo)志位M8020=ON。
5.7.5FNC44(BON)ON位判斷指令
1.指令功能指令功能:源操作數(shù)[S·]指定的位數(shù)中第n位為1,則將目標(biāo)操作數(shù)[D·]指定的元件置1;源操作數(shù)[S·]指定的位數(shù)中第n位為0,則將目標(biāo)操作數(shù)[D?]指定的元件置0。操作數(shù):源操作數(shù)[S·]是K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z;目標(biāo)操作數(shù)[D·]是Y、M、S。
2.編程格式ON位判斷指令在程序應(yīng)用中的格式如圖5.56所示。
圖5.56ON位判斷指令的格式
3.指令使用說(shuō)明(1)?ON位判斷指令為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位和32位兩種。(2)對(duì)于16位ON位判斷指令,n=0~15;對(duì)于32位ON位判斷指令,n=0~31。
5.7.6FNC45(MEAN)求平均值指令
1.指令功能指令功能:將源操作數(shù)[S·]指定的n個(gè)數(shù)據(jù)序列求平均,將結(jié)果存入目標(biāo)操作數(shù)[D·]。操作數(shù):源操作數(shù)[S·]是KnX、KnY、KnM、KnS、T、C、D;目標(biāo)操作數(shù)[D·]是KnY、KnM、KnS、T、C、D、V、Z。
2.編程格式求平均值指令在程序應(yīng)用中的格式如圖5.57所示,當(dāng)X0=ON時(shí),執(zhí)行求平均值指令。
圖5.57求平均值指令的格式
3.指令使用說(shuō)明(1)求平均值指令為連續(xù)/脈沖執(zhí)行型指令,操作數(shù)為16位和32位兩種。(2)?n的取值范圍是1≤n≤64,n在取值范圍以外時(shí)運(yùn)算錯(cuò)誤標(biāo)志動(dòng)作。
5.7.7FNC46(ANS)報(bào)警信號(hào)設(shè)置指令和FNC47(ANR)報(bào)警信號(hào)復(fù)位指令
1.指令功能ANS指令功能:當(dāng)源操作數(shù)[S·]的定時(shí)器當(dāng)前值與n相等時(shí),將目標(biāo)操作數(shù)[D·]置1。ANR指令功能:復(fù)位正在報(bào)警的信號(hào)。
2.編程格式報(bào)警信號(hào)指令在程序應(yīng)用中的格式如圖5.58所示。
當(dāng)X0接通10?s時(shí),則S900置為1并保持,同時(shí)定時(shí)器T0復(fù)位。當(dāng)X1由OFF→ON時(shí),報(bào)警器S900~S999中正在報(bào)警的信號(hào)復(fù)位。
圖5.58報(bào)警信號(hào)指令的格式(a)報(bào)警信號(hào)設(shè)置指令;(b)報(bào)警信號(hào)復(fù)位指令
3.指令使用說(shuō)明(1)報(bào)警信號(hào)指令只有16位指令。(2)報(bào)警信號(hào)設(shè)置指令為連續(xù)型執(zhí)行指令,報(bào)警信號(hào)復(fù)位指令有連續(xù)/脈沖型兩種。(3)對(duì)報(bào)警信號(hào)復(fù)位時(shí),若超過(guò)1個(gè)報(bào)警器信號(hào)被置1,則元件號(hào)最低的一個(gè)被復(fù)位。
5.7.8FNC48(SQR)二進(jìn)制開(kāi)平方指令
1.指令功能指令功能:將源操作數(shù)[S·]的數(shù)值開(kāi)平方,將結(jié)果存入目標(biāo)操作數(shù)[D·]。操作數(shù):源操作數(shù)[S·]是K、H、D;目標(biāo)操作數(shù)[D·]是D。
2.編程格式二進(jìn)制開(kāi)平方指令在程序應(yīng)用中的格式如圖5.59所示,當(dāng)X0=ON時(shí),→D0。
圖5.59二進(jìn)制開(kāi)平方指令的格式
3.指令使用說(shuō)明(1)二進(jìn)制開(kāi)平方指令為脈沖/連續(xù)型兩種,操作數(shù)為16位和32位。(2)源操作數(shù)[S·]的數(shù)值是正數(shù)時(shí)有效,如是負(fù)數(shù),則運(yùn)算錯(cuò)誤標(biāo)志M8067被置為1。(3)當(dāng)運(yùn)算結(jié)果是0時(shí),零標(biāo)志位M8020被置1。
5.7.9FNC49(FLT)整數(shù)—二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換指令
1.指令功能指令功能:將源操作數(shù)[S·]的整數(shù)轉(zhuǎn)換成二進(jìn)制浮點(diǎn)數(shù)存入目標(biāo)操作數(shù)[D·]。操作數(shù):源操作數(shù)[S·]和目標(biāo)操作數(shù)[D·]均是D。
2.編程格式整數(shù)—二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換指令在程序應(yīng)用中的格式如圖5.60所示。
圖5.60整數(shù)—二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換指令的格式(a)?16位轉(zhuǎn)換指令;(b)?32位轉(zhuǎn)換指令
當(dāng)X0=ON,且M8023為OFF時(shí),將(D0)的數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制浮點(diǎn)數(shù)存入(D11,D10);當(dāng)X1=ON,且M8023為OFF時(shí),將(D1,D0)的數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制浮點(diǎn)數(shù)存入(D11,D10)。M8023為ON時(shí),將把浮點(diǎn)數(shù)轉(zhuǎn)換為整數(shù)。用于存放浮點(diǎn)數(shù)的目標(biāo)操作數(shù)應(yīng)為雙整數(shù)。源操作數(shù)可以是整數(shù)或雙整數(shù)。
3.指令使用說(shuō)明(1)整數(shù)—二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換指令為脈沖/連續(xù)型兩種,操作數(shù)為16位和32位。(2)整數(shù)—二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換指令的逆變換指令是FNC129(INT)。
5.8高速處理指令
表5.10高速處理指令表
5.8.1FNC50(REF)輸入/輸出刷新指令
1.指令功能指令功能:立即刷新輸入/輸出信息,獲取最新輸入信息和立即輸出信息。操作數(shù):目標(biāo)操作數(shù)[D·]分別是X和Y。
2.編程格式輸入/輸出刷新指令在程序應(yīng)用中的格式如圖5.61所示。
圖5.61輸入/輸出刷新指令的格式(a)輸入刷新指令;(b)輸出刷新指令
當(dāng)X0=ON時(shí),執(zhí)行輸入刷新指令。若在該指令執(zhí)行X10~X17已經(jīng)變?yōu)镺N約10?ms(輸入濾波滯后應(yīng)答時(shí)間),則該指令執(zhí)行后輸入映像寄存器X10~X17為ON;當(dāng)X1=ON時(shí)執(zhí)行輸出刷新指令,即若Y0~Y7任一為ON,則該指令執(zhí)行后鎖存存儲(chǔ)區(qū)的相應(yīng)輸出也為ON。
3.指令使用說(shuō)明(1)輸入/輸出刷新指令為脈沖/連續(xù)型兩種,操作數(shù)為16位。(2)輸入/輸出刷新指令的目標(biāo)操作數(shù)元件編號(hào)低位只能是0,如X0、Y10等。(3)輸入/輸出刷新點(diǎn)數(shù)n應(yīng)是8的倍數(shù),如8、16、32……256,否則將出錯(cuò)。(4)通常在FOR-NEXT以及標(biāo)號(hào)(新步號(hào))~CJ(老步號(hào))之間使用該指令。(5)在有輸入/輸出動(dòng)作的中斷程序中,使用該指令可以獲取最新的輸入/輸出信息。(6)輸出刷新的輸出觸點(diǎn),仍有滯后時(shí)間,繼電器輸出約10?ms,晶體管輸出約0.2?ms。
5.8.2FNC51(REFF)刷新及濾波時(shí)間調(diào)整指令
1.指令功能圖5.62刷新及濾波時(shí)間調(diào)整指令的格式指令功能:依據(jù)給定值調(diào)整輸入濾波時(shí)間。
2.編程格式刷新及濾波時(shí)間調(diào)整指令在程序應(yīng)用中的格式如圖5.62所示。當(dāng)X0=ON時(shí),主程序2中所使用的輸入繼電器的濾波時(shí)間是1?ms,該指令前的輸入濾波時(shí)間是10?ms;當(dāng)X1=ON時(shí),主程序3中的輸入繼電器的濾波時(shí)間是20?ms。
圖5.62刷新及濾波時(shí)間調(diào)整指令的格式
3.指令使用說(shuō)明(1)刷新及濾波時(shí)間調(diào)整指令為連續(xù)/脈沖型兩種,操作數(shù)為16位。(2)為防止輸入噪音影響,PLC的輸入RC濾波時(shí)間常數(shù)為10?ms;對(duì)電子固態(tài)(無(wú)觸點(diǎn))開(kāi)關(guān),可以高速輸入。(3)該指令可改變輸入濾波時(shí)間的范圍是0~60?ms,即K的取值是0~60,實(shí)際濾波時(shí)間最小為50?μs(X0、X1為20?μs)。
(4)當(dāng)中斷指針、高速計(jì)數(shù)器或者FNC56(SPD)指令采用X0~X7輸入時(shí),輸入濾波時(shí)間自動(dòng)調(diào)整為50?μs(X0、X1為20?μs)。(5)可以通過(guò)MOV指令改寫D8020數(shù)據(jù)寄存器的內(nèi)容,改變輸入濾波時(shí)間。
5.8.3FNC52(MTR)矩陣輸入指令
1.指令功能指令功能:將源操作數(shù)[S·]和目標(biāo)操作數(shù)[D1·]組成的矩陣開(kāi)關(guān)輸入狀態(tài)信號(hào)存入目標(biāo)操作數(shù)[D2·]。操作數(shù):源操作數(shù)[S·]只能是X;[D1·]只能是Y;[D2·]是Y、M、S。
2.編程格式矩陣輸入指令在程序應(yīng)用中的格式、硬件接線和波形圖如圖5.63所示。
圖5.63矩陣輸入指令的格式(a)指令格式;(b)硬件接線;(c)時(shí)序圖
當(dāng)M0=ON時(shí),將8×3的矩陣輸入開(kāi)關(guān)信號(hào)分別送入到目標(biāo)操作數(shù)[D2·?],即存入M30~M37、M40~M47和M50~M57中。在圖5.63中,[S·]指定開(kāi)關(guān)矩陣輸入元件的起始地址,以X10開(kāi)始占用8個(gè)輸入點(diǎn);[D1·]指定開(kāi)關(guān)矩陣輸出元件的起始地址,占用n點(diǎn),以Y10開(kāi)始占用3個(gè)輸出點(diǎn);[D2·]指定存放輸入開(kāi)關(guān)矩陣狀態(tài)的起始地址。Y10~Y12依次輸出一定寬度的脈沖,當(dāng)Y10=ON時(shí),讀入第一行開(kāi)關(guān)狀態(tài)并存入M30~M37中;當(dāng)Y11=ON時(shí),讀入第二行開(kāi)關(guān)狀態(tài)并存入M40~M47中;當(dāng)Y12=ON時(shí),讀入第三行開(kāi)關(guān)狀態(tài)并存入M50~M57中;依此類推,反復(fù)執(zhí)行。
5.8.4FNC53(HSCS)高速計(jì)數(shù)器置位指令和FNC54(HSCR)高速計(jì)數(shù)器復(fù)位指令
1.指令功能HSCS指令功能:當(dāng)源操作數(shù)[S2·]指定的高速計(jì)數(shù)器當(dāng)前值和源操作數(shù)[S1·]指定的數(shù)值相等時(shí),將目標(biāo)操作數(shù)[D·]立即置1。HSCR指令功能:當(dāng)源操作數(shù)[S2·]指定的高速計(jì)數(shù)器當(dāng)前值和源操作數(shù)[S1·]指定的數(shù)值相等時(shí),將目標(biāo)操作數(shù)[D·]立即復(fù)位。操作數(shù):源操作數(shù)[S1·]是K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z;源操作數(shù)[S2·]是C235~C255;目標(biāo)操作數(shù)[D?]是Y、M、S。
2.編程格式高速計(jì)數(shù)器置位和復(fù)位指令在程序應(yīng)用中的格式如圖5.64所示,當(dāng)X0=ON時(shí),執(zhí)行高速計(jì)數(shù)器置位指令,即高速計(jì)數(shù)器C235的當(dāng)前值由99變?yōu)?00,或由101變?yōu)?00,Y1立即置位為1;當(dāng)X1=ON時(shí),執(zhí)行高速計(jì)數(shù)器復(fù)位指令,即高速計(jì)數(shù)器C235的當(dāng)前計(jì)數(shù)值由99變?yōu)?00,或由101變?yōu)?00,Y1立即復(fù)位。
圖5.64高速計(jì)數(shù)器置位和復(fù)位指令的格式(a)高速計(jì)數(shù)器置位指令(HSCS);(b)計(jì)數(shù)器復(fù)位指令(HSCR)
3.指令使用說(shuō)明高速計(jì)數(shù)器置位指令和復(fù)位指令為連續(xù)型執(zhí)行指令,操作數(shù)為32位。
5.8.5FNC55(HSZ)高速計(jì)數(shù)器區(qū)間比較指令
1.指令功能指令功能:將源操作數(shù)[S3·]和源操作數(shù)[S1·]、[S2·]進(jìn)行比較,比較的結(jié)果決定以[D·]為首址的連續(xù)三個(gè)繼電器的狀態(tài)(ON/OFF)。
2.編程格式高速計(jì)數(shù)器區(qū)間比較指令在程序應(yīng)用中的格式如圖5.65所示。當(dāng)PLC運(yùn)行,執(zhí)行該指令。計(jì)數(shù)器C25
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年招聘程序與義務(wù)明細(xì)合同
- 2024年專業(yè)服務(wù)移交協(xié)議格式版
- 2024年度工程承包協(xié)議模板
- 砂管紙市場(chǎng)環(huán)境與對(duì)策分析
- 2024年沙土買賣標(biāo)準(zhǔn)協(xié)議版
- 真空包裝機(jī)項(xiàng)目可行性實(shí)施報(bào)告
- 碧璽相關(guān)項(xiàng)目實(shí)施方案
- 滑板相關(guān)項(xiàng)目建議書
- 工業(yè)自動(dòng)化設(shè)備操作培訓(xùn)手冊(cè)
- 大數(shù)據(jù)隱私保護(hù)法律法規(guī)研究報(bào)告
- 計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用專業(yè)市場(chǎng)人才需求調(diào)研報(bào)告
- 空氣調(diào)節(jié)技術(shù)全套課件
- 口腔頜面外科 第五章 口腔種植外科
- 四個(gè)全面(概論)
- 2021年8月急診科規(guī)培護(hù)士入科考試試題及答案
- 最新人教版三年級(jí)上冊(cè)數(shù)學(xué)期中考試試題以及答案
- 環(huán)境影響評(píng)價(jià)評(píng)價(jià)內(nèi)部質(zhì)量控制體系
- 店長(zhǎng)離職交接表
- 古琴教學(xué)精品課件ppt
- 自考《學(xué)前教育研究方法》全套課件(完整版)
- 無(wú)痛宮腔鏡檢查日間手術(shù)臨床路徑及表單
評(píng)論
0/150
提交評(píng)論