PLC功能指令及應用課件_第1頁
PLC功能指令及應用課件_第2頁
PLC功能指令及應用課件_第3頁
PLC功能指令及應用課件_第4頁
PLC功能指令及應用課件_第5頁
已閱讀5頁,還剩98頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、數(shù)據(jù)寄存器D第七章FX2系列PLC的功能指令及編程方法7.1、功能指令的編程元件每個數(shù)據(jù)寄存器16位,也可兩個相鄰的元件組成32位寄存器8/30/20231、數(shù)據(jù)寄存器D第七章FX2系列PLC的功能指令及編程方法(1)通用數(shù)據(jù)寄存器D0~D199共200點。只要不寫入其它數(shù)據(jù),已寫入的數(shù)據(jù)不會變化。但是,PLC狀態(tài)由運行→停止時,全部數(shù)據(jù)均清零。(2)斷電保持數(shù)據(jù)寄存器D200~D511共312點,只要不改寫,原有數(shù)據(jù)不會丟失。(3)特殊數(shù)據(jù)寄存器D8000~D8255共256點這些數(shù)據(jù)寄存器供監(jiān)視PLC中各種元件的運行方式用。(4)文件寄存器D1000~D2999共2000點。8/30/2023(1)通用數(shù)據(jù)寄存器D0~D199共200點。只要不寫入其V、Z16bit(2點)2.變址寄存器(V/Z)變址寄存器的作用類似于一般微處理器中的變址寄存器通常用于修改元件的編號。8/30/2023V、Z16bit(2點)2.變址寄存器(V/Z3.地址指針寄存器(P/I)P0~P63(64點)

作為JUMP/CALL指令的地址指針I(yè)0□□~I8□□(9點)用于中斷服務程序的地址指針PLC提供兩類中斷源外部中斷源:I0□□~I5□□(6點)從X0~X5中斷輸入(高速計時器中斷)內(nèi)部中斷源:以一定時間間隔產(chǎn)生的中斷,I6□□~I8□□(3點)8/30/20233.地址指針寄存器(P/I)P0~P63(64點)作為J4.嵌套標志指針寄存器(N)嵌套標志主控線路用N0~N7(8點)8/30/20234.嵌套標志指針寄存器(N)嵌套標志主控線路用5.常數(shù)(K/H)十進制K16bit:-32768~3276732bit:-2147483648~2147483647十六進制H

16bit:0~FFFFH32bit:0~FFFFFFFFH8/30/20235.常數(shù)(K/H)十進制K十六進制H8/2/2023K、HKnXKnYKnMKnSTCDVZ(n)(D)(S)FNC助記符代碼7.2、功能指令的基本格式7.2.1.功能指令的表示形式(1)基本格式操作數(shù)8/30/2023K、HKnXKnYKnMKnSTX000MOVD10D12X001(D)MOVD20D22(2)數(shù)據(jù)寬度的使用將D10中的數(shù)據(jù)送到D12中(處理16位數(shù)據(jù))將D21和D20的數(shù)據(jù)送到D23和D22(處理32位數(shù)據(jù))功能指令可以處理16位數(shù)據(jù)和32位數(shù)據(jù)8/30/2023X000MOVD10D12X001(D)MOVD20D22((3)脈沖執(zhí)行方式MOV(P)D10D40X001功能指令有連續(xù)執(zhí)行型和脈沖執(zhí)行型兩種形式脈沖執(zhí)行,X001成立的第一個掃描周期執(zhí)行一次,以后都不執(zhí)行。連續(xù)指令執(zhí)行時,每個掃描周期執(zhí)行一次。8/30/2023(3)脈沖執(zhí)行方式MOV(P)D10D40X001(4)V和Z變址寄存器的使用X003X002MOVK20ZX001MOVK10VADDD5VD15ZD40Z將源操作數(shù)(D15)內(nèi)容+(D35)內(nèi)容→目的操作數(shù)(D60)中5+V15+Z40+Z8/30/2023(4)V和Z變址寄存器的使用X003X002MOVK20Z7.2.2.指令的操作數(shù)(1)位元件X、Y、M、和S;(2)常數(shù)K、H或指針P;(3)字元件T、C、D、V、Z(T、C分別表示定時器和計數(shù)器的當前值寄存器);(4)由位元件X、Y、M和S的位指定組成字元件,每4位一組,16位取1~4組(K1~K4),32位取1~8組(K1~K8)例如:K3X20表示由X20~X33構(gòu)成的數(shù)K8M0表示由M0~M31構(gòu)成的數(shù)對于16位數(shù)若Kn<4,32位數(shù)若Kn<8其不足的高位被看做08/30/20237.2.2.指令的操作數(shù)(1)位元件X、Y、M、和S;(27.2.3.標志位與特殊數(shù)據(jù)處理一般標志位:M8020(零標志)、M8021(借位標志)、M8022(進位標志)等出錯標志:執(zhí)行指令出錯,出錯標志M8067置1,出錯代碼編號存入D8067,錯誤消除出錯標志復位,出錯編碼清除擴展標志:功能指令與擴展標志結(jié)合可以擴展該指令的功能,如M8160PLC中某些編程元件涉及到標志位8/30/20237.2.3.標志位與特殊數(shù)據(jù)處理一般標志位:M8020(零特殊數(shù)據(jù):與特殊M8000~M8255類似,特殊數(shù)據(jù)D8000~D8255有兩類,一類由系統(tǒng)程序?qū)懭肴纾篋8010~D8012中的掃描時間,錯誤編碼D8060~D8069,另一類由用戶程序?qū)懭肴纾篋8039定時掃描時間。8/30/2023特殊數(shù)據(jù):與特殊M8000~M8255類似,特殊數(shù)據(jù)D87.3、功能指令1.條件跳轉(zhuǎn)指令CJCJ和CJ(P)為條件跳轉(zhuǎn)指令,在某種條件下需要跳過一部分程序時,采用跳轉(zhuǎn)指令,這樣可以減少掃描時間,提高程序執(zhí)行速度。7.3.1程序流程控制指令

FNC00-FNC098/30/20237.3、功能指令1.條件跳轉(zhuǎn)指令CJCJCJ指令的使用LDX000CJP10┊LDX001OUTY001

P10LDX002OUTY002CJ指令的使用標號P9X000CJP9X001CJP9X002Y002(b)X000標號P10CJP10X001Y001X002Y002(a)8/30/2023CJ指令的使用LDX000CJ指令的使用標號使用跳轉(zhuǎn)指令時應注意:1)CJP指令表示為脈沖執(zhí)行方式;2)在一個程序中一個標號只能出現(xiàn)一次,否則將出錯;3)在跳轉(zhuǎn)執(zhí)行期間,即使被跳過程序的驅(qū)動條件改變,但其線圈(或結(jié)果)仍保持跳轉(zhuǎn)前的狀態(tài),因為跳轉(zhuǎn)期間根本沒有執(zhí)行這段程序。8/30/2023使用跳轉(zhuǎn)指令時應注意:1)CJP指令表示為脈沖執(zhí)行方式;2)4)如果在跳轉(zhuǎn)開始時定時器和計數(shù)器已在工作,則在跳轉(zhuǎn)執(zhí)行期間它們將停止工作,到跳轉(zhuǎn)條件不滿足后又繼續(xù)工作。但對于高速計數(shù)器C235~C255不管有無跳轉(zhuǎn)仍連續(xù)工作。5)若積算定時器和計數(shù)器的復位(RST)指令在跳轉(zhuǎn)區(qū)外,即使它們的線圈被跳轉(zhuǎn),但對它們的復位仍然有效。8/30/20234)如果在跳轉(zhuǎn)開始時定時器和計數(shù)器已在工作,則在跳轉(zhuǎn)執(zhí)行期間2.子程序調(diào)用指令CALL子程序返回指令SRET如果X0接通,則轉(zhuǎn)到標號P10處去執(zhí)行子程序。當執(zhí)行SRET指令時,返回到CALL指令的下一步執(zhí)行。8/30/20232.子程序調(diào)用指令CALL子程序返回指令SRET如果X0接通1)轉(zhuǎn)移標號不能重復,也不可與跳轉(zhuǎn)指令的標號重復2)子程序可以嵌套調(diào)用,最多可5級嵌套。子程序調(diào)用與返回指令時應注意:8/30/20231)轉(zhuǎn)移標號不能重復,也不可與跳轉(zhuǎn)指令的標號重復2)子程序可3.中斷指令(EI/DI)、中斷返回指令IRET

允許中斷指令EI與禁止中斷指令DI之間的程序段為允許中斷區(qū)間。當程序處理到允許中斷的區(qū)間,出現(xiàn)中斷信號時,則停止執(zhí)行主程序,去執(zhí)行相應的中斷子程序。處理到中斷返回指令IRET時再返回斷點,繼續(xù)執(zhí)行主程序。中斷標號的含義:

IO

□→1為上升沿中斷,0為下降沿中斷0~5對應輸入X000~X005常置為08/30/20233.中斷指令(EI/DI)、中斷返回指令IRET┊(M8050)┊┊┊允許中斷區(qū)間EIDIFENDIRET中斷子程序(1)主程序結(jié)束中斷子程序(2)IRET┊X20Y020X001Y025X002EI/DI中斷指令的使用允許中斷范圍中若中斷源X0有一個上升沿,則轉(zhuǎn)入I001為標號的中斷服務程序,但X0可否引起中斷還受M8050控制,當X20有效時則M8050控制X0無法中斷。在開中斷期間要禁止某一中斷可將M8050~M8059中的某一位置1100111018/30/2023┊(M8050)┊┊┊允許中斷區(qū)間EIDIFENDIRET中中斷指令使用說明:(1)有關的特殊輔助繼電器為ON狀態(tài),響應的中斷子程序不能執(zhí)行。當M8050~M8058為ON時,禁止執(zhí)行相應I0□□~I8□□的中斷,M8059為ON時則禁止所有計數(shù)器中斷;8/30/2023中斷指令使用說明:(1)有關的特殊輔助繼電器為ON狀態(tài),響(2)一個中斷程序執(zhí)行時,其他中斷被禁止。但是在中斷程序中編入EI和DI指令時,可實現(xiàn)中斷嵌套。中斷的優(yōu)先級排隊如下:多個中斷依次發(fā)生,則以發(fā)生先后為序。多個中斷源同時發(fā)出信號,則中斷指針號越小優(yōu)先級越高;8/30/2023(2)一個中斷程序執(zhí)行時,其他中斷被禁止。但是在中斷程序中編(3)中斷信號的脈寬必須大于200μs。(4)如果中斷信號產(chǎn)生禁止中斷區(qū)間(DI~EI之間),這個中斷信號被存儲,并在EI指令后執(zhí)行。(5)無需中斷禁止時,可只用EI指令,不必用DI指令

8/30/2023(3)中斷信號的脈寬必須大于200μs。(4)如果中斷信號4.主程序結(jié)束指令(FEND)

FEND指令表示主程序結(jié)束。程序執(zhí)行到FEND時,進行輸出處理、輸入處理、監(jiān)視定時器和計數(shù)器刷新,全部完成以后返回到程序的第00步。

FEND主程序結(jié)束指令使用時應注意,子程序和中斷子程序必須寫在主程序結(jié)束指令FEND和END指令之間。8/30/20234.主程序結(jié)束指令(FEND)FEND指令表示FEND主程序結(jié)束指令使用X010=ON1001P20X010=OFFENDX010CJP20主程序1主程序2FEND主程序3FEND中斷子程序FEND指令的使用8/30/2023FEND主程序結(jié)束指令使用X010=ON1001P20X05.警戒時鐘指令(WDT)警戒時鐘指令用于控制程序中的監(jiān)視定時器刷新。在程序的執(zhí)行過程中,如果掃描的時間(從第0步到END或FEND語句)超過了200ms,則PLC將停止運行。在這種情況下,使用WDT指令可以刷新監(jiān)視定時器,使程序執(zhí)行到END或FEND。

FX系列PLC的監(jiān)視定時器缺省值為200ms(可用D8000來設定),8/30/20235.警戒時鐘指令(WDT)警戒時鐘指令用于控制程序中的監(jiān)X000WDT主程序(240ms)ENDX000WDT主程序1(120ms)主程序2(120ms)END(a)

M8000MOVK300D8000將200ms改為300ms(b)

WDT指令的使用將一個240ms的程序一分為二,使它們都小于200ms,則不再會出現(xiàn)報警停機8/30/2023X000WDT主程序ENDX000WDT主程序1主程序2EN使用WDT指令時應注意:

1)如果在后續(xù)的FOR-NEXT循環(huán)中,執(zhí)行時間可能超過監(jiān)控定時器的定時時間,可將WDT插入循環(huán)程序中。

2)當與條件跳轉(zhuǎn)指令CJ對應的指針標號在CJ指令之前時(即程序往回跳)就有可能連續(xù)反復跳步使它們之間的程序反復執(zhí)行,使執(zhí)行時間超過監(jiān)控時間,可在CJ指令與對應標號之間插入WDT指令。8/30/2023使用WDT指令時應注意:1)如果在后續(xù)的FO6.循環(huán)指令FOR、NEXT為循環(huán)開始和循環(huán)結(jié)束指令。FOR、NEXT指令內(nèi)允許加嵌套使用。8/30/20236.循環(huán)指令FOR、NEXT為循環(huán)開始和循環(huán)結(jié)束指令。FFOR、NEXT指令的使用┋FORKnNEXT(a)FOR、NEXT指令

位于FOR~NEXT間的程序反復執(zhí)行n次(由操作數(shù)決定)后再繼續(xù)執(zhí)行后續(xù)程序。循環(huán)的次數(shù)n=1~32767。如果N=-32767~0之間,則當作n=1處理。8/30/2023FOR、NEXT指令的使用┋FORKnNEXT(a)FOFOR、NEXT指令的使用AB┋FORK4FORD0NEXTNEXT┋┋(b)2級嵌套外層執(zhí)行4次。如果D0中的數(shù)為6,則外層A每執(zhí)行一次內(nèi)層B將執(zhí)行6次。8/30/2023FOR、NEXT指令的使用AB┋FORK4FORD循環(huán)指令使用說明:(4)NEXT指令不允許寫在END、FEND指令的后面。(1)FX2系列PLC的循環(huán)指令最多允許5級嵌套。(2)FOR、NEXT在成對使用。要求FOR在前,NEXT在后。(3)在循環(huán)中可利用CJ指令在循環(huán)沒結(jié)束時跳出循環(huán)體;8/30/2023循環(huán)指令使用說明:(4)NEXT指令不允許寫在END、FEN7.3.2比較和傳送指令

FNC10-FNC191、比較指令(CMP):比較指令是將源操作數(shù)S1、S2的數(shù)據(jù),按照代數(shù)規(guī)則進行大小比較,并將比較結(jié)果送到目的操作數(shù)D中。K100>C20,M0=ONK100<C20,M2=ONK100=C20,M1=ONX000CMPK100C20M0[S1][S2][D](a)CMP指令

M0M1M28/30/20237.3.2比較和傳送指令FNC10-FNC191、比比較指令使用說明:1)比較指令中的所有的源操作數(shù)據(jù)都按二進制數(shù)值處理,最高位是符號位。2)對于多個比較指令,其目標操作數(shù)D也可以指定為同一個元件;但每執(zhí)行一次比較指令其D的內(nèi)容隨之而變化。K、HKnXKnYKnMKnSTCDVZ(D)(S1)FNCCMP10(S2)YMS8/30/2023比較指令使用說明:1)比較指令中的所有的源操作數(shù)據(jù)都按二進2、區(qū)間比較指令(ZCP):源操作數(shù)[S.]與[S1.]和[S2.]構(gòu)成的區(qū)間內(nèi)容進行比較,并將比較結(jié)果送到目的操作數(shù)D中。當X0為ON時,把C30當前值與K100和K120相比較,將結(jié)果送M3、M4、M5中。X0為OFF,則ZCP不執(zhí)行,M3、M4、M5不變。源操作數(shù)可取所有數(shù)據(jù)類型,目標操作數(shù)是Y、M、S位元件8/30/20232、區(qū)間比較指令(ZCP):源操作數(shù)[S.]與[S1.]和[區(qū)間比較指令(ZCP)使用說明:1)比較指令中的所有的源操作數(shù)據(jù)都按二進制數(shù)值處理。2)[S1.]、[S2.]可取任意數(shù)據(jù)格式,目標操作數(shù)[D.]可取Y、M和S。3)使用ZCP時,[S2.]的數(shù)值不能小于[S1.]8/30/2023區(qū)間比較指令(ZCP)使用說明:1)比較指令中的所有的源操3、傳送指令(MOV):MOV傳送指令是將源操作數(shù)送到指定的目的操作數(shù)去,即S→D。X001MOVK126D26(b)MOV指令K、HKnXKnYKnMKnSTCDVZ(D)(S)FNCMOV128/30/20233、傳送指令(MOV):MOV傳送指令是將源操作數(shù)送到指定1、貨料小車控制

某車間有6個工作臺,送料車往返于工作臺之間送料,如下圖所示。每個工作臺設有一個到位開關(SQ)和一個呼叫按扭(SB)。送料車開始應能停留在6個工作臺中任意一個到位開關的位置上。8/30/20231、貨料小車控制某車間有6個工作臺,送料車往返于工作設送料車現(xiàn)暫停于m號工作臺(SQm為ON)處,這時n號工作臺呼叫(SQn為ON),若:(a)m>n,送料車左行,直至SQn動作,到位停車。即送料車所停位置SQ的編號大于呼叫按扭SB的編號時,送料車往左行運行至呼叫位置后停止。(b)m<n,送料車右行,直至SQn動作,到位停車。即送料車所停位置SQ的編號小于呼叫按扭SB的編號時,送料車往右運行至呼叫位置后停止。(c)m=n,送料車原位不動。即送料車所停位置SQ的編號與呼叫按扭SB的編號相同時,送料車不動。

8/30/2023設送料車現(xiàn)暫停于m號工作臺(SQm為ON)處,貨料小車I/O的分配啟動呼叫1呼叫2呼叫3呼叫4呼叫5呼叫6停止SB0SB1SB2SB3SB4SB5SB6SB7X0X1X2X3X4X5X6X7限位1限位2限位3限位4限位5限位6右行左行SQ1SQ2SQ3SQ4SQ5SQ6KM1KM2X11X12X13X14X15X16Y0Y18/30/2023貨料小車I/O的分配啟動SB0X0限位1SQ1貨料小車I/O的外部接線

8/30/2023貨料小車I/O的外部接線8/2/2023功能指令實現(xiàn)送料車控制的梯形圖

8/30/2023功能指令實現(xiàn)送料車控制的梯形圖8/2/20234、塊傳送指令(BMOV):是將源操作數(shù)指定元件開始的n個數(shù)據(jù)組成數(shù)據(jù)塊傳送到指定的目標源操作數(shù)可取KnX、KnY、KnM、KnS、T、C、D和文件寄存器目標操作數(shù)可取.KnY、KnM、KnS、T、C和D;如果元件號超出允許范圍,數(shù)據(jù)則僅傳送到允許范圍的元件。8/30/20234、塊傳送指令(BMOV):是將源操作數(shù)指定元件開始的n個數(shù)8/30/20238/2/20235、移位傳送指令(SMOV):該指令的功能是將源數(shù)據(jù)(二進制)自動轉(zhuǎn)換成4位BCD碼,再進行移位傳送,傳送后的目標操作數(shù)元件的BCD碼自動轉(zhuǎn)換成二進制數(shù)。8/30/20235、移位傳送指令(SMOV):該指令的功能是將K、HKnXKnYKnMKnSTCDVZ(D)(S)FNCSMOV138/30/2023K、HKnXKnYKnMKnST6、取反傳送指令CML

X001CMPD0K4Y0[S][D]它是將源操作數(shù)元件的數(shù)據(jù)逐位取反并傳送到指定目標。如圖所示,當X1為ON時,執(zhí)行CML,將D0的低4位取反向后傳送到Y(jié)3~Y0中。若源數(shù)據(jù)為常數(shù)K,則該數(shù)據(jù)會自動轉(zhuǎn)換為二進制數(shù)。K、HKnXKnYKnMKnSTCDVZ(D)(S)FNCCML148/30/20236、取反傳送指令CML

X001CMPD0K4Y0[S]交換指令一般采用脈沖執(zhí)行方式,否則在每一次掃描周期都要交換一次。7、數(shù)據(jù)交換指令(XCH):交換指令是將操作數(shù)D1、D2的數(shù)據(jù)交換。X001XCHD0D26[D1][D2]KnYKnMKnSTCDVZ(D2)(D1)FNCXCH178/30/2023交換指令一般采用脈沖執(zhí)行方式,否則在每一次掃描8.數(shù)制變換指令BCD變換指令BCD指令使用說明:①BCD轉(zhuǎn)換的結(jié)果超過0~9999(16位運算)或0~99999999(32位運算)時,則出錯;②BCD變換指令用于將PLC中的二進制數(shù)據(jù)變換成BCD碼輸出,用于驅(qū)動七段顯示。

BCD變換指令是將源地址中的二進制數(shù)轉(zhuǎn)換成BCD碼送到目標地址中去。8/30/20238.數(shù)制變換指令BCD變換指令BCD指令使用說明:①BCBIN變換指令BIN變換指令是將源地址中的BCD數(shù)據(jù)變換成二進制數(shù)據(jù)送到目標地址去。BIN指令常用于將BCD數(shù)字開關串的設定值輸入到PLC中。常數(shù)K不能作為本指令的操作元件,因為在任何處理之前它會被轉(zhuǎn)換成二進制數(shù)。8/30/2023BIN變換指令BIN變換指令是將源地址中的數(shù)值變換指令的使用圖6-34數(shù)值變換指令的使用[S][D]X000BCDK2Y0D12(a)BCD指令[S][D]X000BINK2Y0D12(b)BIN指令KnYKnMKnSTCDVZ(D)(S)FNCBCD188/30/2023數(shù)值變換指令的使用圖6-34數(shù)值變換指令的使用[S]7.3.3.算術運算和邏輯運算指令FNC20-FNC291、加法指令ADD

ADD指令是將指定源地址中的二進制數(shù)相加,其結(jié)果送到指定目的地址去。2、減法指令SUB

SUB指令是將指定源地址中的二進制數(shù)相減,其結(jié)果送到指定目的地址去。8/30/20237.3.3.算術運算和邏輯運算指令FNC20-FNC29①每個數(shù)據(jù)的最高位作為符號位,0表示為正,1表示為負。ADD為二進制代數(shù)法運算。例如,5+(-8)=-3,5-(-8)=13。ADD、SUB指令的使用圖6-35ADD、SUB指令的使用(a)ADD指令(b)SUB指令X000[S1][S2][D]SUBD10D12D14(b)X000[S1][S2][D]ADDD10D12D14(a)(S1)+(S2)→(D)即(D10)+(D12)→(D14)(S1)-(S2)→(D)即(D10)-(D12)→(D14)加法指令使用說明:8/30/2023①每個數(shù)據(jù)的最高位作為符號位,0表示為正,1表示為負。ADD0000010105H5+11111000F8H-811111101FDH10000011-3K、HKnXKnYKnMKnSTCDVZ(D)FNCADD20(S1)(S2)8/30/20230000010105②當執(zhí)行條件X000=OFF時,不執(zhí)行運算,(D)中的內(nèi)容不變。③設有3個操作數(shù)標志:M8020為零標志;M8021為借位標志;M8022為進位標志。運算結(jié)果為0時,則零標志M8020閉合;如果運算結(jié)果超過32767(16進制運算)或2147483647(32位運算),則進位標志M8022閉合;如果運算結(jié)果小于-32767(16進制運算)或-2147483647(32位運算),則借位標志M8021閉合。8/30/2023②當執(zhí)行條件X000=OFF時,不執(zhí)行運算,(D)中的內(nèi)容不3、乘法指令MUL16位乘法運算滿足執(zhí)行條件則將兩個源地址(S1)、(S2)中的數(shù)相乘,并以32位的形式送到指定目標數(shù)據(jù)寄存器(D)。32位數(shù)據(jù)結(jié)果的低16位存放在指定目的地址(D),高16位存放在相連的下一個目標元件中。4、除法運算DIV16位除法運算在(S1)中存放的是被除數(shù),(S2)中存放的是除數(shù),商存放于(D)中,余數(shù)存放于緊靠(D)的下一地址號的元件中。若位組合指定元件為(D),則余數(shù)就會被丟失。當除數(shù)為0時,則運算出錯,且不執(zhí)行運算。8/30/20233、乘法指令MUL16位乘法運算滿足執(zhí)行條件則將兩個源地址MUL、DIV指令的使用X000[S1][S2][D]MULD0D2D4(a)將二進制16位數(shù)[S1.]、[S2.]相乘,結(jié)果送[D.]中。D為32位,16位乘法:(D0)×(D2)→(D5,D4)32位乘法:(D1,D0)×(D3,D2)→(D7,D6,D5,D4)8/30/2023MUL、DIV指令的使用X000[S1][S2]X000[S1][S2][D]DIVD0D2D4(b)16位除法:(D0)÷(D2)→(D4)商,(D5)余數(shù)32位除法:(D1,D0)÷(D3,D2)→(D5,D4)商(D7,D6)余數(shù)K、HKnXKnYKnMKnSTCDVZ(D)FNCMUL22(S1)(S2)8/30/2023X000[S1][S2][D]DIVD0D2D4使用乘法和除法指令時應注意:1)源操作數(shù)可取所有數(shù)據(jù)類型,目標操作數(shù)可取KnY、KnM、KnS、T、C、D、V和Z.,要注意Z只有16位乘法時能用,32位不可用。2)32位乘法運算中,如用位元件作目標,則只能得到乘積的低32位,高32位將丟失,這種情況下應先將數(shù)據(jù)移入字元件再運算;除法運算中將位元件指定為[D.],則無法得到余數(shù),除數(shù)為0時發(fā)生運算錯誤。

3)積、商和余數(shù)的最高位為符號位。8/30/2023使用乘法和除法指令時應注意:1)源操作數(shù)可取所有數(shù)據(jù)類型,目5、加1指令INC

INC指令是將目標元件當前值加1,其結(jié)果送到指定目的地址去。不影響標志位16位運算:+32767執(zhí)行INC指令當前值變?yōu)?3276732位運算:+2147483647執(zhí)行INC指令當前值變?yōu)?2147483647X000INCD10X001DECD11X002Y002(b)[D][D]8/30/20235、加1指令INCINC指令是將目標元件當6、減1指令DEC

DEC指令是將目標元件當前值減1,其結(jié)果送到指定目的地址去。不影響標志位16位運算:-32767執(zhí)行DEC指令當前值變?yōu)?3276732位運算:-2147483647執(zhí)行DEC指令當前值變?yōu)?2147483647K、HKnXKnYKnMKnSTCDVZ(D)FNCINC24例題8/30/20236、減1指令DECDEC指令是將目標元件7、邏輯與、或、異或、求補指令WANDWOR

WXORNEG

將兩個源操作數(shù)按位進行邏輯操作,結(jié)果送指定元件。K、HKnXKnYKnMKnSTCDVZ(D)FNCWAND26(S1)(S2)8/30/20237、邏輯與、或、異或、求補指令WANDWOR

WXOR7.3.4.循環(huán)與移位指令FNC30-FNC39

1、循環(huán)右/左移指令ROR/ROL指令可以使16位數(shù)據(jù)、32位數(shù)據(jù)向右/左循環(huán)移位當X1=1時,目標元件D中的位向右循環(huán)移位n位

最后一次從最低位移出的狀態(tài)也存于進位標志M8022中X001RORD0K4X002ROLD1K2[D]n[D]n8/30/20237.3.4.循環(huán)與移位指令FNC30-FNC391、循環(huán)2、位移位指令

SFTR/SFTL使位元件中的狀態(tài)成組地向右(或向左)移動。n1指定位元件的長度,n2指定移位位數(shù),n1和n2的關系及范圍因機型不同而有差異,一般為n2≤n1≤1024。

8/30/20232、位移位指令SFTR/SFTL使位元件中當X20=1,[D]為首地址的n1=9位數(shù)(M0~M8)各位數(shù)據(jù)連同[S]為為首地址的n2=3位數(shù)(X0~X2)向右移n2=3位,(X0~X2)3位數(shù)據(jù)從[D]高位端移入,(M0~M2)3位數(shù)據(jù)從[D]低位端移出(溢出)。當X20再次=1時,(X0~X2)3位數(shù)據(jù)再次從[D]高位端移入,當前(M0~M2)3位數(shù)據(jù)從[D]低位端溢出。例題8/30/2023當X20=1,[D]為首地址的n1=97.3.5、數(shù)據(jù)處理指令(FNC40-FNC49)1.區(qū)間復位指令ZRST(P)當X001由OFF→ON時,位元件M500~M599成批復位。X001ZRSTM500M599[D1][D2]8/30/20237.3.5、數(shù)據(jù)處理指令(FNC40-FNC49)1.區(qū)間復1)[D1.]和[D2.]可取Y、M、S、T、C、D,且應為同類元件,同時[D1]的元件號應小于[D2]指定的元件號,若[D1]的元件號大于[D2]元件號,則只有[D1]指定元件被復位。使用區(qū)間復位指令時應注意:2)ZRST指令只有16位處理,占5個程序步,但[D1.][D2.]也可以指定32位計數(shù)器。8/30/20231)[D1.]和[D2.]可取Y、M、S、T、C、D,且應為2、為1位數(shù)統(tǒng)計SUM和為1位判別指令BONSUM用來統(tǒng)計指定元件中1的個數(shù)將源操作數(shù)D0中1的個數(shù)送入目標操作數(shù)D2中,若D0中沒有1,則零標志M8020將置1。BON功能是檢測指定元件中的指定位是否為1。當X1為有效時,執(zhí)行BON指令,由K4決定檢測的是源操作數(shù)D10的第4位,當檢測結(jié)果為1時,則目標操作數(shù)M0=1,否則M0=0。8/30/20232、為1位數(shù)統(tǒng)計SUM和為1位判別指令BONSUM用來統(tǒng)計K、HKnXKnYKnMKnSTCDVZ(D)FNCSUN43(S)(n)K、HKnXKnYKnMKnSTCDVZ(D)FNCBON44(S)(n)進行16位運算,n=0~15;32位運算時,n=0~31。8/30/2023K、HKnXKnYKnMKnS3、平均值指令MEAN將n個源數(shù)據(jù)的平均值送到指定目標(余數(shù)省略),若程序中指定的n值超出1~64的范圍將會出錯。X000[S][D]nMEAND10D12K10(a)K、HKnXKnYKnMKnSTCDVZ(D)FNCMEAN45(S)(n)8/30/20233、平均值指令MEAN將n個源數(shù)據(jù)的平均值送到指定目標(余數(shù)7.3.6、高速處理指令(FNC50~FNC59)1.輸入輸出刷新指令REF

FX系列PLC采用集中輸入輸出的方式。如果需要最新的輸入信息以及希望立即輸出結(jié)果則必須使用該指令。當X1接通時,X10~X17共8點將被刷新;X001REFX10K8[D]n1)目標操作數(shù)為元件編號個位為0的X和Y,n應為8的整倍數(shù)。2)指令只要進行16位運算8/30/20237.3.6、高速處理指令(FNC50~FNC59)1.輸入輸2.濾波調(diào)整指令REFF

在FX系列PLC中X0~X17使用了數(shù)字濾波器,用REFF指令可調(diào)節(jié)其濾波時間,范圍為n=0~60ms(實際上由于輸入端有RL濾波,所以最小濾波時間為50μs)。如圖所示,當X1接通時,執(zhí)行REFF指令,濾波時間常數(shù)被設定為1ms。1)REFF為16位運算指令,占7個程序步。2)當X0~X7用作高速計數(shù)輸入時或使用FNC56速度檢測指令以及中斷輸入時,輸入濾波器的濾波時間自動設置為50μs。X01REFFK10n8/30/20232.濾波調(diào)整指令REFF

在FX系列PLC中X0~X17使3.速度檢測指令SPD

它的功能是用來檢測給定時間內(nèi)從編碼器輸入的脈沖個數(shù),并計算出速度。[D.]占三個目標元件。當X12為ON時,用D1對X0的輸入上升沿計數(shù),100ms后計數(shù)結(jié)果送入D0,D1復位,D1重新開始對X0計數(shù)。D2在計數(shù)結(jié)束后計算剩余時間。8/30/20233.速度檢測指令SPD

它的功能是用來檢測給定時間內(nèi)從編碼線速度和轉(zhuǎn)速8/30/2023線速度和轉(zhuǎn)速8/2/20237.3.7、方便控制指令(FNC50~FNC59)

初始狀態(tài)指令IST用于自動設置初始狀態(tài)和特殊輔助繼電器。初始狀態(tài)指令IST8/30/20237.3.7、方便控制指令(FNC50~FNC59)IST指令的使用M8000[S·][D1·][D2·]ISTX20S20S40圖6-37IST指令的使用

[S]指定操作方式輸入的首元件,一共是8個連號的元件。這些元件可以是X、Y、M和S。[D1]指定在自動操作中實際用到的最小狀態(tài)號。[D2]指定在自動操作中實際用到的最大狀態(tài)號。8/30/2023IST指令的使用M8000[S·][D1·]本例中[S]指定的8個連號的元件假如是:X020:手動X021:回原點

X022:單步運行X023:一個周期運行(半自動)

X024:全自動運行X025:回原點起動

X026:自動運行起動X027:停止為了使X020~X024不會同時接通,應采用選擇開關。當M8000由OFF→ON時,下列元件自動受控;若其后執(zhí)行條件M8000變?yōu)镺FF,這些元件的狀態(tài)仍然保持不變。S0:手動操作初始狀態(tài)S1:回原點初始狀態(tài)S2:自動操作初始狀態(tài)M8040:禁止轉(zhuǎn)移M8041:轉(zhuǎn)移開始M8042:啟動脈沖M8047:STL步進指令,監(jiān)控有效8/30/2023本例中[S]指定的8個連號的元件假如是:X020:IST自動指定的初始狀態(tài)S0~S2的切換S0手動方式S1回原點S2自動方式S1動作,X020接通回零時,X020接通全部輸出,S1及S10~S19自動復位回原點后X020=ON方式由S20→S21全部輸出及狀態(tài)S0自動復位回零完成后,(M8043=ON)X022~X024接通S2動作時方式改為X020X020=ON,全部輸出,狀態(tài)S2、自動狀態(tài)復位X021=ONX024=ONX020=ONS2動作時X021=ON全部輸出,S2及全部自動操作狀態(tài)自動復位回原點完成后,X022~X024為ON完成回零后回零起動圖6-38IST自動指定的初始狀態(tài)S0~S2的切換8/30/2023IST自動指定的初始狀態(tài)S0~S2的切換S1動作,X02單步自動梯形圖X24自動X020手動啟動脈沖PLSM8042X025回零啟動X026啟動X023單周期X027X024自動M8041M8041X022單步X026啟動M8047M8000X021回原點X022單步啟動脈沖M8002初始脈沖X023單周期X027停止M8040保持X020手動M8040X027停止M8042圖6-39單步自動圖形圖8/30/2023單步自動梯形圖X24自動X020手動啟動脈沖P7.3.8.I/O外圍設備通訊指令(FNC70~FNC79)1、(數(shù)字開關輸入指令)撥碼盤BCD碼輸入指令DSW16位操作指令DSW的功能是讀入1組或2組4位數(shù)字開關的設置值。8/30/20237.3.8.I/O外圍設備通訊指令(FNC70~FNC79)源操作數(shù)[S]為X,用來指定輸入點。目標操作數(shù)[D1]為Y,用來指定選通點。[D2]指定數(shù)據(jù)存儲單元,[n]指定數(shù)字開關組數(shù)。K、HKnXKnYKnMKnSTCDVZ(D2)FNCDSW728/30/2023源操作數(shù)[S]為X,用來指定輸入點。K、HKnXn=1指有1組BCD碼數(shù)字開關。輸入開關為X10~X13,按Y10~Y13的順序選通讀入。數(shù)據(jù)以二進制數(shù)的形式存放在D0中。若n=2,則有2組開關,第2組開關接到X14~X17上,仍由Y10~Y13順序選通讀入,數(shù)據(jù)以二進制的形式存放在D1中,第2組數(shù)據(jù)只有在n=2時才有效。當X1保持為ON時,Y10~Y13依次為ON。一個周期完成后標志位M8029置1。8/30/2023n=1指有1組BCD碼數(shù)字開關。輸入開關為X12、(數(shù)字譯碼輸出指令)BCD碼輸出指令SEGL

帶鎖存的七段顯示指令SEGL(16位操作指令),僅適于晶體管輸出的PLC將[S]中一組或兩組十進制數(shù)(0~9999),輸出到目標元件D以七段譯碼顯示.X000[S][D]nSEGLD0Y0K6(a)K、HKnXKnYKnMKnSTCDVZFNCSEGL74(S)(n)目標操作數(shù)[D]為Y,[n]指定數(shù)字開關組數(shù)。8/30/20232、(數(shù)字譯碼輸出指令)BCD碼輸出指令SEGL輸出一組(D0中的)數(shù)據(jù),n取2,從Y0~Y3依次輸出數(shù)據(jù)的七段譯碼,從Y4~Y7輸出各位的選通脈沖。完成一次輸出(無論一組還是兩組)用12個掃描周期,指令執(zhí)行結(jié)束M8029產(chǎn)生一個寬度為T的脈沖。輸出兩組(D0、D1中的)數(shù)據(jù),n取6,則第一組從Y0~Y3輸出,第二組從Y10~Y13輸出,兩組都由Y4~Y7輸出各位的選通脈沖。8/30/2023輸出一組(D0中的)數(shù)據(jù),n取2,從Y0~Y3依交通燈車道綠燈剩余時間顯示8/30/2023交通燈車道綠燈剩余時間顯示8/2/20233、讀特殊功能模塊指令FROM從特殊功能模塊中讀取數(shù)據(jù)從編號為m1的特殊功能模塊中讀取以m2為首地址的連續(xù)n個數(shù)據(jù)緩沖寄存器的數(shù)據(jù),并將讀取的數(shù)據(jù)依次存入PLC內(nèi)以目標元件D為首地址的連續(xù)n個字元件中。X10FROMK0m1m2[D]nK5D0K4m1的取值范圍0~7,m2的取值范圍0~31,16位操作數(shù)n的取值范圍1~31,32位操作數(shù)n的取值范圍1~16K、HKnXKnYKnMKnSTCDVZ(D)FNCFROM788/30/20233、讀特殊功能模塊指令FROM從特殊功能模塊中讀取數(shù)據(jù)X14、寫特殊功能模塊指令TO將PLC內(nèi)以源S為首地址的連續(xù)n個數(shù)據(jù)寫入編號為m1的特殊功能模塊中首地址為m2的連續(xù)n個數(shù)據(jù)緩沖寄存器中。X10TOK0m1m2[S]nK5D0K4m1的取值范圍0~7,m2的取值范圍0~31,16位操作數(shù)n的取值范圍1~31,32位操作數(shù)n的取值范圍1~16K、HKnXKnYKnMKnSTCDVZ(S)FNCTO798/30/20234、寫特殊功能模塊指令TO將PLC內(nèi)以源S為首地址的連續(xù)n個電梯在最下層時可將1送入D0;電梯每上升一層D0將自動加1,電梯每下降一層將D0自動減1,這樣使D0中存放的始終是層數(shù);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論