西門子s7200PLC基本指令課件_第1頁(yè)
西門子s7200PLC基本指令課件_第2頁(yè)
西門子s7200PLC基本指令課件_第3頁(yè)
西門子s7200PLC基本指令課件_第4頁(yè)
西門子s7200PLC基本指令課件_第5頁(yè)
已閱讀5頁(yè),還剩107頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

*1第四章S7-200的基本指令及編程第一節(jié)位操作指令第二節(jié)運(yùn)算指令第三節(jié)數(shù)據(jù)處理指令第四節(jié)表功能指令第五節(jié)轉(zhuǎn)換指令

學(xué)習(xí)目標(biāo)掌握LAD位指令、運(yùn)算指令和數(shù)據(jù)處理指令了解LAD表功能指令、轉(zhuǎn)換指令能夠用學(xué)到的LAD指令編寫簡(jiǎn)單程序*1第四章S7-200的基本指令及編程第一節(jié)位操作指令*2第一節(jié)位操作指令主要用于實(shí)現(xiàn)邏輯運(yùn)算基本邏輯指令堆棧操作指令*定時(shí)器指令計(jì)數(shù)器指令比較指令*2第一節(jié)位操作指令主要用于實(shí)現(xiàn)邏輯運(yùn)算基本邏輯指令*3一、基本邏輯指令1、觸點(diǎn)指令①檢查閉指令其中???位代表位地址??????②檢查開指令其中???位代表位地址當(dāng)???指定地址的數(shù)據(jù)為1時(shí),指令結(jié)果接通能流;否則,指令結(jié)果斷開能流。當(dāng)???指定地址的數(shù)據(jù)為0時(shí),指令結(jié)果接通能流;否則,指令結(jié)果斷開能流。*3一、基本邏輯指令1、觸點(diǎn)指令①檢查閉指令*4I0.0M0.0V0.0當(dāng)I0.0=1時(shí),能流通過第一條指令當(dāng)M0.0=0時(shí),能流通過第二條指令當(dāng)V0.0=0時(shí),能流不能通過第三條指令*4I0.0M0.0V0.0當(dāng)I0.0=1時(shí),能流通過第一條*5當(dāng)???指定地址的數(shù)據(jù)為1時(shí),指令結(jié)果接通能流;否則,指令結(jié)果斷開能流。③立即檢查閉指令???位代表位地址???I當(dāng)???指定地址的數(shù)據(jù)為0時(shí),指令結(jié)果接通能流;否則,指令結(jié)果斷開能流。④立即檢查開指令???位代表位地址???I對(duì)能流取反如果指令收到能流,則終止能流;如果指令沒有收到能流,則產(chǎn)生能流輸出。⑤取反指令NOTI0.0M0.0NOT*5當(dāng)???指定地址的數(shù)據(jù)為1時(shí),指令結(jié)果接通能流;③立即*6⑥單脈沖指令(邊沿觸發(fā)指令)上升沿觸發(fā)單脈沖指令PN下降沿觸發(fā)單脈沖指令當(dāng)收到能流時(shí),產(chǎn)生一個(gè)掃描周期的能流輸出;當(dāng)收到能流被斷開時(shí),產(chǎn)生一個(gè)掃描周期的能流輸出;I0.0I0.0PN()Q0.0()Q0.1Q0.0Q0.1I0.0*6⑥單脈沖指令(邊沿觸發(fā)指令)上升沿觸發(fā)單脈沖指令PN下*7(2)線圈指令①輸出線圈指令???位代表位地址()???當(dāng)指令收到能流時(shí),則???指定的位=1;當(dāng)指令沒收到能流時(shí),則???指定的位=0。當(dāng)指令收到能流時(shí),則???指定位開始的XXX個(gè)位被置1;當(dāng)指令沒收到能流時(shí),則???指定的位狀態(tài)不變。當(dāng)指令收到能流時(shí),則???指定位開始的XXX個(gè)位被置0;當(dāng)指令沒收到能流時(shí),則???指定的位狀態(tài)不變。當(dāng)指令收到能流時(shí),則???指定位對(duì)應(yīng)的物理輸出=1;當(dāng)指令沒收到能流時(shí),則???指定位對(duì)應(yīng)的物理輸出=0。④立即輸出線圈指令???Q區(qū)位代表位地址(I)???②置位線圈指令???位代表位起始地址(S)???xxx③復(fù)位線圈指令???位代表位起始地址(R)???xxx*7(2)線圈指令①輸出線圈指令*8例1:電機(jī)起??刂埔阎浩饎?dòng)按鈕信號(hào)接入I0.0

停止按鈕信號(hào)接入I0.1

電機(jī)運(yùn)行命令由Q0.0輸出M3~KM1FR1M1QSFUL1L2L3SB1SB2KKM1M1FR1Q0.0KM1~220VI0.0I0.1SB1SB2*8例1:電機(jī)起??刂埔阎浩饎?dòng)按鈕信號(hào)接入I0.0M3~K*9*9*10*10*11例2:用單按鈕實(shí)現(xiàn)電機(jī)起停控制已知:按鈕信號(hào)接入I0.0

電機(jī)運(yùn)行命令由Q0.0輸出KM1Q0.0I0.0~220VM3~KM1FR1M1QSFUL1L2L3*11例2:用單按鈕實(shí)現(xiàn)電機(jī)起??刂埔阎喊粹o信號(hào)接入I0.*12例3:正反轉(zhuǎn)向電機(jī)起??刂埔阎赫D(zhuǎn)向起動(dòng)按鈕信號(hào)接入I0.0

反轉(zhuǎn)向起動(dòng)按鈕信號(hào)接入I0.11

停止按鈕信號(hào)接入I0.2

電機(jī)正轉(zhuǎn)運(yùn)行命令由Q0.0輸出、反轉(zhuǎn)運(yùn)行命令由Q0.0輸出。KM1Q0.0I0.0I0.2~220VI0.1KM2Q0.1~220VM3~KM1FR1M1QSFUL1L2L3KM2*12例3:正反轉(zhuǎn)向電機(jī)起停控制已知:正轉(zhuǎn)向起動(dòng)按鈕信號(hào)接入*13二、堆棧操作指令用于完成復(fù)雜的語句表指令設(shè)置堆棧操作*13二、堆棧操作指令用于完成復(fù)雜的語句表指令設(shè)置堆棧操作*14三、定時(shí)器指令1、接通延時(shí)定器(TON)S7-200CPU22X有三種定時(shí)器:TON、TONR、TOF在輸入(IN)收到能流時(shí)開始計(jì)時(shí);當(dāng)當(dāng)前值達(dá)到預(yù)置值(PT)時(shí),定時(shí)器位被置1;當(dāng)輸入能流斷開時(shí)停止計(jì)時(shí),同時(shí)定時(shí)器位被置0、清除當(dāng)前值。定時(shí)器號(hào)(Txx)決定了定時(shí)器的分辨率。INTONPTTxx*14三、定時(shí)器指令1、接通延時(shí)定器(TON)S7-200*15*15*162、保持型接通延時(shí)定器(TONR)在輸入(IN)收到能流時(shí),從當(dāng)前值開始計(jì)時(shí);當(dāng)當(dāng)前值達(dá)到預(yù)置值(PT)時(shí),定時(shí)器位被置1;當(dāng)輸入能流斷開時(shí)停止計(jì)時(shí),定時(shí)器位、當(dāng)前值保持不變;必須用復(fù)位指令才能清除定時(shí)器位和當(dāng)前值;定時(shí)器號(hào)(Txx)決定了定時(shí)器的分辨率。INTONRPTTxx*162、保持型接通延時(shí)定器(TONR)在輸入(IN)收到能*17*17*18*18*193、斷開延時(shí)定器(TOF)在輸入(IN)有能流時(shí),定時(shí)器位被置1、當(dāng)前值=0;在輸入(IN)的能流斷開時(shí),開始計(jì)時(shí),定時(shí)器位=1;當(dāng)當(dāng)前值達(dá)到預(yù)置值(PT)時(shí),定時(shí)器位被置0,停止計(jì)時(shí);定時(shí)器號(hào)(Txx)決定了定時(shí)器的分辨率。INTOFPTTxx*193、斷開延時(shí)定器(TOF)在輸入(IN)有能流時(shí),定時(shí)*20*20*21四、計(jì)數(shù)器指令1、增計(jì)數(shù)器指令(CTU)從當(dāng)前計(jì)數(shù)值開始,在每一個(gè)(CU)輸入狀態(tài)從低到高時(shí)遞增計(jì)數(shù)。當(dāng)Cxx的當(dāng)前值大于等于預(yù)置值PV時(shí),計(jì)數(shù)器位Cxx置位。當(dāng)復(fù)位端(R)接通或者執(zhí)行復(fù)位指令后,計(jì)數(shù)器被復(fù)位。當(dāng)它達(dá)到最大值(32,767)后,計(jì)數(shù)器停止計(jì)數(shù)。CUCTURPVCxx*21四、計(jì)數(shù)器指令1、增計(jì)數(shù)器指令(CTU)從當(dāng)前計(jì)數(shù)值開*222、減計(jì)數(shù)器減計(jì)數(shù)指令(CTD)從當(dāng)前計(jì)數(shù)值開始,在每一個(gè)(CD)輸入狀態(tài)的低到高時(shí)遞減計(jì)數(shù)。當(dāng)CXX的當(dāng)前值等于0時(shí),計(jì)數(shù)器位CXX置位。當(dāng)裝載輸入端(LD)接通時(shí),計(jì)數(shù)器位被復(fù)位,并將計(jì)數(shù)器的當(dāng)前值設(shè)為預(yù)置值PV。當(dāng)計(jì)數(shù)值到0時(shí),計(jì)數(shù)器停止計(jì)數(shù),計(jì)數(shù)器位CXX接通。CDCTDLDPVCxx*222、減計(jì)數(shù)器減計(jì)數(shù)指令(CTD)從當(dāng)前計(jì)數(shù)值開始,在每*23減計(jì)數(shù)器*23減計(jì)數(shù)器*243、增/減計(jì)數(shù)器指令(CTUD)在每一個(gè)增計(jì)數(shù)輸入(CU)的低到高時(shí)增計(jì)數(shù),在每一個(gè)減計(jì)數(shù)輸入(CD)的低到高時(shí)減計(jì)數(shù)。計(jì)數(shù)器的當(dāng)前值CXX保存當(dāng)前計(jì)數(shù)值。在每一次計(jì)數(shù)器執(zhí)行時(shí),預(yù)置值PV與當(dāng)前值作比較。當(dāng)達(dá)到最大值(32767)時(shí),在增計(jì)數(shù)輸入處的下一個(gè)上升沿導(dǎo)致當(dāng)前計(jì)數(shù)值變?yōu)樽钚≈?-32768)。當(dāng)達(dá)到最小值(-32768)時(shí),在減計(jì)數(shù)輸入端的下一個(gè)上升沿導(dǎo)致當(dāng)前計(jì)數(shù)值變?yōu)樽畲笾?32767)。當(dāng)CXX的當(dāng)前值大于等于預(yù)置值PV時(shí),計(jì)數(shù)器位CXX置位。否則,計(jì)數(shù)器位關(guān)斷。當(dāng)復(fù)位端(R)接通或者執(zhí)行復(fù)位指令后,計(jì)數(shù)器被復(fù)位。CUCTUDCDRPVCxx*243、增/減計(jì)數(shù)器指令(CTUD)在每一個(gè)增計(jì)數(shù)輸入(C*25五、比較指令

比較指令數(shù)值比較比較指令用于比較兩個(gè)數(shù)值:IN1=IN2;IN1>=IN2;IN1<=IN2;IN1>IN2;IN1<IN2;IN1<>IN2。字節(jié)比較操作是無符號(hào)的。整數(shù)比較操作是有符號(hào)的。雙字比較操作是有符號(hào)的。實(shí)數(shù)比較操作是有符號(hào)的。對(duì)于LAD:當(dāng)比較結(jié)果為真時(shí),比較指令使能點(diǎn)閉合或者輸出接通。當(dāng)使用IEC比較指令時(shí),可以使用各種數(shù)據(jù)類型作為輸入。但是,兩個(gè)輸入的數(shù)據(jù)類型必須一致。1.數(shù)值比較*25五、比較指令比較指令數(shù)值比較比較指令用于比較兩*26SIMATICIEC1131*26SIMATICIEC1131*272.字符串比較比較指令比較兩個(gè)字符串的ASCII碼字符:

IN1=IN2;IN1<>IN2當(dāng)比較結(jié)果為真時(shí),比較指令使觸點(diǎn)閉合或者輸出接通。SIMATICIEC1131*272.字符串比較比較指令比較兩個(gè)字符串的ASCII碼字*28第二節(jié)運(yùn)算指令加法指令減法指令乘法指令除法指令數(shù)學(xué)函數(shù)指令增減指令邏輯運(yùn)算指令*28第二節(jié)運(yùn)算指令加法指令*291、整數(shù)加法(+I)將兩個(gè)16位整數(shù)相加,產(chǎn)生一個(gè)16位結(jié)果。2、雙整數(shù)加法(+D)將兩個(gè)32位整數(shù)相加,產(chǎn)生一個(gè)

32位結(jié)果。3、實(shí)數(shù)加法(+R)將兩個(gè)32位實(shí)數(shù)相加,產(chǎn)生一個(gè)32位實(shí)數(shù)結(jié)果。一、加法指令A(yù)DD_IENENOIN1OUTIN2當(dāng)EN輸入端為1(獲得能流)時(shí)執(zhí)行加法運(yùn)算, IN1+IN2=OUT。如果執(zhí)行正確,則ENO=1(輸出能流);否則,ENO=0。ADD_DIENENOIN1OUTIN2ADD_RENENOIN1OUTIN2*291、整數(shù)加法(+I)一、加法指令A(yù)DD_I當(dāng)EN輸入端*30二、減法指令SUB_IENENOIN1OUTIN2SUB_DIENENOIN1OUTIN2SUB_RENENOIN1OUTIN2IN1-IN2=OUT*30二、減法指令SUB_ISUB_DISUB_RIN1-I*31三、乘法指令MUL_IENENOIN1OUTIN2MULENENOIN1OUTIN2(1)整數(shù)乘法指令

IN1*IN2=OUT將兩個(gè)16位整數(shù)乘,產(chǎn)生一個(gè)16位結(jié)果。(2)完全整數(shù)乘法指令I(lǐng)N1*IN2=OUT將兩個(gè)16位整數(shù)乘,產(chǎn)生一個(gè)32位結(jié)果。*31三、乘法指令MUL_IMUL(1)整數(shù)乘法指令(2)完*32MUL_DIENENOIN1OUTIN2MUL_RENENOIN1OUTIN2(3)雙整數(shù)乘法指令I(lǐng)N1*IN2=OUT將兩個(gè)32位整數(shù)乘,產(chǎn)生一個(gè)32位結(jié)果。(4)實(shí)數(shù)乘法指令I(lǐng)N1*IN2=OUT將兩個(gè)實(shí)數(shù)乘,產(chǎn)生一個(gè)實(shí)數(shù)結(jié)果。*32MUL_DIMUL_R(3)雙整數(shù)乘法指令(4)實(shí)數(shù)乘*33三、除法指令DIV_IENENOIN1OUTIN2DIVENENOIN1OUTIN2(2)完全整數(shù)除法

IN1÷IN2=OUT將兩個(gè)16位整數(shù)相除,得到32位結(jié)果。其中高16位為余數(shù),另外低16位為商。(1)整數(shù)除法

IN1÷IN2=OUT將兩個(gè)16位整數(shù)相除,產(chǎn)生一個(gè)16位結(jié)果。*33三、除法指令DIV_IDIV(2)完全整數(shù)除法(1)整*34DIV_DIENENOIN1OUTIN2DIV_RENENOIN1OUTIN2(3)雙整數(shù)除法

IN1÷IN2=OUT將兩個(gè)32位整數(shù)除,產(chǎn)生一個(gè)32位結(jié)果。(4)實(shí)數(shù)除法

IN1÷IN2=OUT將兩個(gè)實(shí)數(shù)除,產(chǎn)生一個(gè)實(shí)數(shù)結(jié)果。*34DIV_DIDIV_R(3)雙整數(shù)除法(4)實(shí)數(shù)除法*35五、數(shù)學(xué)函數(shù)指令SQRTENENOIN1OUTLNENENOIN1OUTEXPENENOIN1OUTSINENENOIN1OUTCOSENENOIN1OUTTANENENOIN1OUT*35五、數(shù)學(xué)函數(shù)指令SQRTLNEXPSINCOSTAN*36六、增減指令指令將輸入IN加1或者減1,并將結(jié)果存放在OUT中。遞增:IN+1=OUT遞減:IN-1=OUT字節(jié)遞增(INCB)和字節(jié)遞減(DECB)操作是無符號(hào)的。字遞增(INCW)和字遞減(DECW)操作是有符號(hào)的。雙字遞增(INCD)和雙字遞減(DECD)操作是有符號(hào)的。SIMATICIEC1131*36六、增減指令指令將輸入IN加1或者減1,并將結(jié)果存放在*37*37*38七、邏輯運(yùn)算指令對(duì)字節(jié)、字、雙字(按位)進(jìn)行邏輯運(yùn)算1、字節(jié)邏輯運(yùn)算WAND_BENENOIN1OUTIN2WOR_BENENOIN1OUTIN2WXOR_BENENOIN1OUTIN2INV_BENENOIN1OUTIN2與或異或取反2、字邏輯運(yùn)算WAND_WENENOIN1OUTIN2WOR_WENENOIN1OUTIN2WXOR_WENENOIN1OUTIN2INV_WENENOIN1OUTIN2與或異或取反3、雙字邏輯運(yùn)算*38七、邏輯運(yùn)算指令對(duì)字節(jié)、字、雙字(按位)進(jìn)行邏輯運(yùn)算1*39*39*40編程舉例例1根據(jù)波形圖設(shè)計(jì)梯形圖程序(主機(jī)與潤(rùn)滑設(shè)備)I0.0I0.1Q0.0Q0.110S18S*40編程舉例例1根據(jù)波形圖設(shè)計(jì)梯形圖程序(主機(jī)與潤(rùn)滑設(shè)備)*41例2:按下起動(dòng)按鈕,小車到達(dá)左端,同時(shí)壓下行程開關(guān)LS1,小車在此裝料15s后自動(dòng)開始右行,到達(dá)右端,并壓下行程開關(guān)LS2

,下料10s后自動(dòng)左行去裝料,如此自動(dòng)往復(fù)循環(huán),直到按下停止按鈕,小車停止運(yùn)行。要求編寫小車運(yùn)行控制梯形圖程序。解:1、確定I/O類型和數(shù)量開關(guān)量輸入:4個(gè)開關(guān)量輸出:2個(gè)2、分配I/O地址、定義開關(guān)量狀態(tài),起動(dòng)按鈕:I0.0,按下閉合,放開斷開停止按鈕:I0.1,按下斷開,放開閉合行程開關(guān)LS1:I0.2,壓下閉合,放開斷開行程開關(guān)LS2:I0.3,壓下閉合,放開斷開左運(yùn)行輸出信號(hào):Q0.0,1運(yùn)行,0停止右運(yùn)行輸出信號(hào):Q0.1,1運(yùn)行,0停止3、編寫梯形圖程序LS1LS2*41例2:按下起動(dòng)按鈕,小車到達(dá)左端,同時(shí)壓下行程開關(guān)L*42例3進(jìn)出人數(shù)統(tǒng)計(jì)。在門廊裝設(shè)兩個(gè)光電開關(guān),當(dāng)有人遮蔽開關(guān)的光信號(hào)時(shí),開關(guān)閉合,否則斷開。設(shè)計(jì)統(tǒng)計(jì)進(jìn)出人數(shù)的程序。進(jìn)入走出開關(guān)A開關(guān)B*42例3進(jìn)出人數(shù)統(tǒng)計(jì)。在門廊裝設(shè)兩個(gè)光電開關(guān),當(dāng)有人遮*43第三節(jié)數(shù)據(jù)處理指令傳送類指令移位指令字節(jié)交換指令填充指令*43第三節(jié)數(shù)據(jù)處理指令傳送類指令*44一、傳送類指令字節(jié)傳送(MOV_B)字傳送(MOV_W)雙字傳送(MOV_D)實(shí)數(shù)傳送(MOV_R)指令在不改變?cè)档那闆r下將IN中的值傳送到OUT。1.單個(gè)傳送指令*44一、傳送類指令字節(jié)傳送(MOV_B)1.單個(gè)傳送指令*45字節(jié)立即傳送(讀和寫)指令允許在物理I/O和存儲(chǔ)器之間立即傳送一個(gè)字節(jié)數(shù)據(jù)。字節(jié)立即讀(MOV-BIR)指令讀物理輸入(IN),并將結(jié)果存入內(nèi)存地址(OUT),但過程映像寄存器并不刷新。字節(jié)立即寫指令(MOV-BIW)從內(nèi)存地址(IN)中讀取數(shù)據(jù),寫入物理輸出(OUT),同時(shí)刷新相應(yīng)的過程映像區(qū)。*45字節(jié)立即傳送(讀和寫)*462.塊傳送指令字節(jié)塊傳送(BLKMOV_B)字塊傳送(BLKMOV_W)雙字塊傳送(BLKMOV_D)指令傳送指定數(shù)量的數(shù)據(jù)到一個(gè)新的存儲(chǔ)區(qū),數(shù)據(jù)的起始地址IN,數(shù)據(jù)長(zhǎng)度為N個(gè)字節(jié)、字或者雙字,新塊的起始地址為OUT。N的范圍從1到255。使的錯(cuò)誤條件:*462.塊傳送指令字節(jié)塊傳送(BLKMOV_B)*47二、移位指令右移和左移指令移位指令將輸入值IN右移或左移N位,并將結(jié)果裝載到輸出OUT中,對(duì)移出的位自動(dòng)補(bǔ)零。如果位數(shù)N大于或等于最大允許值(對(duì)于字節(jié)操作為8,對(duì)于字操作為16,對(duì)于雙字操作為32),那么移位操作的次數(shù)為最大允許值。如果移位次數(shù)大于0,溢出標(biāo)志位(SM1.1)上就是最近移出的位值。如果移位操作的結(jié)果為0,零存儲(chǔ)器位(SM1.0)置位。字節(jié)操作是無符號(hào)的。對(duì)于字和雙字操作,當(dāng)使用有符號(hào)數(shù)據(jù)類型時(shí),符號(hào)位也被移動(dòng)。*47二、移位指令右移和左移指令移位指令將輸入值IN右移或左*48右移和左移指令符號(hào)*48右移和左移指令符號(hào)*49指令將輸入值IN循環(huán)右移或者循環(huán)左移N位,并將輸出結(jié)果裝載到OUT中。循環(huán)移位是環(huán)形的。如果位數(shù)N大于或者等于最大允許值(對(duì)于字節(jié)操作為8)。如果移位次數(shù)為0,循環(huán)移位指令不執(zhí)行。如果循環(huán)移位指令執(zhí)行,最后一位的值會(huì)復(fù)制到溢出標(biāo)志位(SM1.1)。如果移位次數(shù)不是8、16和32的整數(shù)倍,最后被移出的位會(huì)被復(fù)制到溢出標(biāo)志位(SM1.1)。當(dāng)要被循環(huán)移位的值是零時(shí),零標(biāo)志位(SM1.0)被置位。字節(jié)操作是無符號(hào)的。對(duì)于字和雙字操作,當(dāng)使用有符號(hào)數(shù)據(jù)類型時(shí),符號(hào)位也被移位。2.循環(huán)右移和左指令*49指令將輸入值IN循環(huán)右移或者循環(huán)左移N位,并將輸出結(jié)果*50循環(huán)右移和左指令符號(hào)*50循環(huán)右移和左指令符號(hào)*51指令將一個(gè)數(shù)值移入移位寄存器中。提供了一種排列和控制產(chǎn)品流或者數(shù)據(jù)的簡(jiǎn)單方法。使用該指令,每個(gè)掃描周期,整個(gè)移位寄存器移動(dòng)一位。移位寄存器指令把輸入的DATA數(shù)值移入移位寄存器。其中,S_BIT指定移位寄存器的最低位,N指定移位寄存器的長(zhǎng)度和移位方向(正向移位=N,反向移位=-N)。SHRB指令移出的每一位都被放入溢出標(biāo)志位(SM1.1)。這條指令的執(zhí)行取決于最低有效位(S_BIT)和由長(zhǎng)度(

N)指定的位數(shù)。3.移位寄存器指令*51指令將一個(gè)數(shù)值移入移位寄存器中。提供了一種排列和控制產(chǎn)*52*52*53三、字節(jié)交換指令*53三、字節(jié)交換指令*54四、填充指令*54四、填充指令*55例控制原料含水量在20%。已知:如圖,儀表1測(cè)得原料含水量存入AIW0,測(cè)得原料重量存入AIW2,需加水量由AQW0輸出;檢測(cè)點(diǎn)與加水點(diǎn)相距10S的料程。儀表1儀表2加水原料10S*55例控制原料含水量在20%。儀表1儀表2加水原料1*56本章小結(jié)1、熟練掌握S7-200的觸點(diǎn)指令、定時(shí)器指令和計(jì)數(shù)器指令2、理解算術(shù)運(yùn)算指令和邏輯運(yùn)算指令3、能夠根據(jù)要求編寫簡(jiǎn)單梯形圖程序作業(yè):習(xí)題四9(P149)*56本章小結(jié)1、熟練掌握S7-200的觸點(diǎn)指令、定時(shí)器指令*57第四章S7-200的基本指令及編程第一節(jié)位操作指令第二節(jié)運(yùn)算指令第三節(jié)數(shù)據(jù)處理指令第四節(jié)表功能指令第五節(jié)轉(zhuǎn)換指令

學(xué)習(xí)目標(biāo)掌握LAD位指令、運(yùn)算指令和數(shù)據(jù)處理指令了解LAD表功能指令、轉(zhuǎn)換指令能夠用學(xué)到的LAD指令編寫簡(jiǎn)單程序*1第四章S7-200的基本指令及編程第一節(jié)位操作指令*58第一節(jié)位操作指令主要用于實(shí)現(xiàn)邏輯運(yùn)算基本邏輯指令堆棧操作指令*定時(shí)器指令計(jì)數(shù)器指令比較指令*2第一節(jié)位操作指令主要用于實(shí)現(xiàn)邏輯運(yùn)算基本邏輯指令*59一、基本邏輯指令1、觸點(diǎn)指令①檢查閉指令其中???位代表位地址??????②檢查開指令其中???位代表位地址當(dāng)???指定地址的數(shù)據(jù)為1時(shí),指令結(jié)果接通能流;否則,指令結(jié)果斷開能流。當(dāng)???指定地址的數(shù)據(jù)為0時(shí),指令結(jié)果接通能流;否則,指令結(jié)果斷開能流。*3一、基本邏輯指令1、觸點(diǎn)指令①檢查閉指令*60I0.0M0.0V0.0當(dāng)I0.0=1時(shí),能流通過第一條指令當(dāng)M0.0=0時(shí),能流通過第二條指令當(dāng)V0.0=0時(shí),能流不能通過第三條指令*4I0.0M0.0V0.0當(dāng)I0.0=1時(shí),能流通過第一條*61當(dāng)???指定地址的數(shù)據(jù)為1時(shí),指令結(jié)果接通能流;否則,指令結(jié)果斷開能流。③立即檢查閉指令???位代表位地址???I當(dāng)???指定地址的數(shù)據(jù)為0時(shí),指令結(jié)果接通能流;否則,指令結(jié)果斷開能流。④立即檢查開指令???位代表位地址???I對(duì)能流取反如果指令收到能流,則終止能流;如果指令沒有收到能流,則產(chǎn)生能流輸出。⑤取反指令NOTI0.0M0.0NOT*5當(dāng)???指定地址的數(shù)據(jù)為1時(shí),指令結(jié)果接通能流;③立即*62⑥單脈沖指令(邊沿觸發(fā)指令)上升沿觸發(fā)單脈沖指令PN下降沿觸發(fā)單脈沖指令當(dāng)收到能流時(shí),產(chǎn)生一個(gè)掃描周期的能流輸出;當(dāng)收到能流被斷開時(shí),產(chǎn)生一個(gè)掃描周期的能流輸出;I0.0I0.0PN()Q0.0()Q0.1Q0.0Q0.1I0.0*6⑥單脈沖指令(邊沿觸發(fā)指令)上升沿觸發(fā)單脈沖指令PN下*63(2)線圈指令①輸出線圈指令???位代表位地址()???當(dāng)指令收到能流時(shí),則???指定的位=1;當(dāng)指令沒收到能流時(shí),則???指定的位=0。當(dāng)指令收到能流時(shí),則???指定位開始的XXX個(gè)位被置1;當(dāng)指令沒收到能流時(shí),則???指定的位狀態(tài)不變。當(dāng)指令收到能流時(shí),則???指定位開始的XXX個(gè)位被置0;當(dāng)指令沒收到能流時(shí),則???指定的位狀態(tài)不變。當(dāng)指令收到能流時(shí),則???指定位對(duì)應(yīng)的物理輸出=1;當(dāng)指令沒收到能流時(shí),則???指定位對(duì)應(yīng)的物理輸出=0。④立即輸出線圈指令???Q區(qū)位代表位地址(I)???②置位線圈指令???位代表位起始地址(S)???xxx③復(fù)位線圈指令???位代表位起始地址(R)???xxx*7(2)線圈指令①輸出線圈指令*64例1:電機(jī)起停控制已知:起動(dòng)按鈕信號(hào)接入I0.0

停止按鈕信號(hào)接入I0.1

電機(jī)運(yùn)行命令由Q0.0輸出M3~KM1FR1M1QSFUL1L2L3SB1SB2KKM1M1FR1Q0.0KM1~220VI0.0I0.1SB1SB2*8例1:電機(jī)起??刂埔阎浩饎?dòng)按鈕信號(hào)接入I0.0M3~K*65*9*66*10*67例2:用單按鈕實(shí)現(xiàn)電機(jī)起停控制已知:按鈕信號(hào)接入I0.0

電機(jī)運(yùn)行命令由Q0.0輸出KM1Q0.0I0.0~220VM3~KM1FR1M1QSFUL1L2L3*11例2:用單按鈕實(shí)現(xiàn)電機(jī)起??刂埔阎喊粹o信號(hào)接入I0.*68例3:正反轉(zhuǎn)向電機(jī)起??刂埔阎赫D(zhuǎn)向起動(dòng)按鈕信號(hào)接入I0.0

反轉(zhuǎn)向起動(dòng)按鈕信號(hào)接入I0.11

停止按鈕信號(hào)接入I0.2

電機(jī)正轉(zhuǎn)運(yùn)行命令由Q0.0輸出、反轉(zhuǎn)運(yùn)行命令由Q0.0輸出。KM1Q0.0I0.0I0.2~220VI0.1KM2Q0.1~220VM3~KM1FR1M1QSFUL1L2L3KM2*12例3:正反轉(zhuǎn)向電機(jī)起??刂埔阎赫D(zhuǎn)向起動(dòng)按鈕信號(hào)接入*69二、堆棧操作指令用于完成復(fù)雜的語句表指令設(shè)置堆棧操作*13二、堆棧操作指令用于完成復(fù)雜的語句表指令設(shè)置堆棧操作*70三、定時(shí)器指令1、接通延時(shí)定器(TON)S7-200CPU22X有三種定時(shí)器:TON、TONR、TOF在輸入(IN)收到能流時(shí)開始計(jì)時(shí);當(dāng)當(dāng)前值達(dá)到預(yù)置值(PT)時(shí),定時(shí)器位被置1;當(dāng)輸入能流斷開時(shí)停止計(jì)時(shí),同時(shí)定時(shí)器位被置0、清除當(dāng)前值。定時(shí)器號(hào)(Txx)決定了定時(shí)器的分辨率。INTONPTTxx*14三、定時(shí)器指令1、接通延時(shí)定器(TON)S7-200*71*15*722、保持型接通延時(shí)定器(TONR)在輸入(IN)收到能流時(shí),從當(dāng)前值開始計(jì)時(shí);當(dāng)當(dāng)前值達(dá)到預(yù)置值(PT)時(shí),定時(shí)器位被置1;當(dāng)輸入能流斷開時(shí)停止計(jì)時(shí),定時(shí)器位、當(dāng)前值保持不變;必須用復(fù)位指令才能清除定時(shí)器位和當(dāng)前值;定時(shí)器號(hào)(Txx)決定了定時(shí)器的分辨率。INTONRPTTxx*162、保持型接通延時(shí)定器(TONR)在輸入(IN)收到能*73*17*74*18*753、斷開延時(shí)定器(TOF)在輸入(IN)有能流時(shí),定時(shí)器位被置1、當(dāng)前值=0;在輸入(IN)的能流斷開時(shí),開始計(jì)時(shí),定時(shí)器位=1;當(dāng)當(dāng)前值達(dá)到預(yù)置值(PT)時(shí),定時(shí)器位被置0,停止計(jì)時(shí);定時(shí)器號(hào)(Txx)決定了定時(shí)器的分辨率。INTOFPTTxx*193、斷開延時(shí)定器(TOF)在輸入(IN)有能流時(shí),定時(shí)*76*20*77四、計(jì)數(shù)器指令1、增計(jì)數(shù)器指令(CTU)從當(dāng)前計(jì)數(shù)值開始,在每一個(gè)(CU)輸入狀態(tài)從低到高時(shí)遞增計(jì)數(shù)。當(dāng)Cxx的當(dāng)前值大于等于預(yù)置值PV時(shí),計(jì)數(shù)器位Cxx置位。當(dāng)復(fù)位端(R)接通或者執(zhí)行復(fù)位指令后,計(jì)數(shù)器被復(fù)位。當(dāng)它達(dá)到最大值(32,767)后,計(jì)數(shù)器停止計(jì)數(shù)。CUCTURPVCxx*21四、計(jì)數(shù)器指令1、增計(jì)數(shù)器指令(CTU)從當(dāng)前計(jì)數(shù)值開*782、減計(jì)數(shù)器減計(jì)數(shù)指令(CTD)從當(dāng)前計(jì)數(shù)值開始,在每一個(gè)(CD)輸入狀態(tài)的低到高時(shí)遞減計(jì)數(shù)。當(dāng)CXX的當(dāng)前值等于0時(shí),計(jì)數(shù)器位CXX置位。當(dāng)裝載輸入端(LD)接通時(shí),計(jì)數(shù)器位被復(fù)位,并將計(jì)數(shù)器的當(dāng)前值設(shè)為預(yù)置值PV。當(dāng)計(jì)數(shù)值到0時(shí),計(jì)數(shù)器停止計(jì)數(shù),計(jì)數(shù)器位CXX接通。CDCTDLDPVCxx*222、減計(jì)數(shù)器減計(jì)數(shù)指令(CTD)從當(dāng)前計(jì)數(shù)值開始,在每*79減計(jì)數(shù)器*23減計(jì)數(shù)器*803、增/減計(jì)數(shù)器指令(CTUD)在每一個(gè)增計(jì)數(shù)輸入(CU)的低到高時(shí)增計(jì)數(shù),在每一個(gè)減計(jì)數(shù)輸入(CD)的低到高時(shí)減計(jì)數(shù)。計(jì)數(shù)器的當(dāng)前值CXX保存當(dāng)前計(jì)數(shù)值。在每一次計(jì)數(shù)器執(zhí)行時(shí),預(yù)置值PV與當(dāng)前值作比較。當(dāng)達(dá)到最大值(32767)時(shí),在增計(jì)數(shù)輸入處的下一個(gè)上升沿導(dǎo)致當(dāng)前計(jì)數(shù)值變?yōu)樽钚≈?-32768)。當(dāng)達(dá)到最小值(-32768)時(shí),在減計(jì)數(shù)輸入端的下一個(gè)上升沿導(dǎo)致當(dāng)前計(jì)數(shù)值變?yōu)樽畲笾?32767)。當(dāng)CXX的當(dāng)前值大于等于預(yù)置值PV時(shí),計(jì)數(shù)器位CXX置位。否則,計(jì)數(shù)器位關(guān)斷。當(dāng)復(fù)位端(R)接通或者執(zhí)行復(fù)位指令后,計(jì)數(shù)器被復(fù)位。CUCTUDCDRPVCxx*243、增/減計(jì)數(shù)器指令(CTUD)在每一個(gè)增計(jì)數(shù)輸入(C*81五、比較指令

比較指令數(shù)值比較比較指令用于比較兩個(gè)數(shù)值:IN1=IN2;IN1>=IN2;IN1<=IN2;IN1>IN2;IN1<IN2;IN1<>IN2。字節(jié)比較操作是無符號(hào)的。整數(shù)比較操作是有符號(hào)的。雙字比較操作是有符號(hào)的。實(shí)數(shù)比較操作是有符號(hào)的。對(duì)于LAD:當(dāng)比較結(jié)果為真時(shí),比較指令使能點(diǎn)閉合或者輸出接通。當(dāng)使用IEC比較指令時(shí),可以使用各種數(shù)據(jù)類型作為輸入。但是,兩個(gè)輸入的數(shù)據(jù)類型必須一致。1.數(shù)值比較*25五、比較指令比較指令數(shù)值比較比較指令用于比較兩*82SIMATICIEC1131*26SIMATICIEC1131*832.字符串比較比較指令比較兩個(gè)字符串的ASCII碼字符:

IN1=IN2;IN1<>IN2當(dāng)比較結(jié)果為真時(shí),比較指令使觸點(diǎn)閉合或者輸出接通。SIMATICIEC1131*272.字符串比較比較指令比較兩個(gè)字符串的ASCII碼字*84第二節(jié)運(yùn)算指令加法指令減法指令乘法指令除法指令數(shù)學(xué)函數(shù)指令增減指令邏輯運(yùn)算指令*28第二節(jié)運(yùn)算指令加法指令*851、整數(shù)加法(+I)將兩個(gè)16位整數(shù)相加,產(chǎn)生一個(gè)16位結(jié)果。2、雙整數(shù)加法(+D)將兩個(gè)32位整數(shù)相加,產(chǎn)生一個(gè)

32位結(jié)果。3、實(shí)數(shù)加法(+R)將兩個(gè)32位實(shí)數(shù)相加,產(chǎn)生一個(gè)32位實(shí)數(shù)結(jié)果。一、加法指令A(yù)DD_IENENOIN1OUTIN2當(dāng)EN輸入端為1(獲得能流)時(shí)執(zhí)行加法運(yùn)算, IN1+IN2=OUT。如果執(zhí)行正確,則ENO=1(輸出能流);否則,ENO=0。ADD_DIENENOIN1OUTIN2ADD_RENENOIN1OUTIN2*291、整數(shù)加法(+I)一、加法指令A(yù)DD_I當(dāng)EN輸入端*86二、減法指令SUB_IENENOIN1OUTIN2SUB_DIENENOIN1OUTIN2SUB_RENENOIN1OUTIN2IN1-IN2=OUT*30二、減法指令SUB_ISUB_DISUB_RIN1-I*87三、乘法指令MUL_IENENOIN1OUTIN2MULENENOIN1OUTIN2(1)整數(shù)乘法指令

IN1*IN2=OUT將兩個(gè)16位整數(shù)乘,產(chǎn)生一個(gè)16位結(jié)果。(2)完全整數(shù)乘法指令I(lǐng)N1*IN2=OUT將兩個(gè)16位整數(shù)乘,產(chǎn)生一個(gè)32位結(jié)果。*31三、乘法指令MUL_IMUL(1)整數(shù)乘法指令(2)完*88MUL_DIENENOIN1OUTIN2MUL_RENENOIN1OUTIN2(3)雙整數(shù)乘法指令I(lǐng)N1*IN2=OUT將兩個(gè)32位整數(shù)乘,產(chǎn)生一個(gè)32位結(jié)果。(4)實(shí)數(shù)乘法指令I(lǐng)N1*IN2=OUT將兩個(gè)實(shí)數(shù)乘,產(chǎn)生一個(gè)實(shí)數(shù)結(jié)果。*32MUL_DIMUL_R(3)雙整數(shù)乘法指令(4)實(shí)數(shù)乘*89三、除法指令DIV_IENENOIN1OUTIN2DIVENENOIN1OUTIN2(2)完全整數(shù)除法

IN1÷IN2=OUT將兩個(gè)16位整數(shù)相除,得到32位結(jié)果。其中高16位為余數(shù),另外低16位為商。(1)整數(shù)除法

IN1÷IN2=OUT將兩個(gè)16位整數(shù)相除,產(chǎn)生一個(gè)16位結(jié)果。*33三、除法指令DIV_IDIV(2)完全整數(shù)除法(1)整*90DIV_DIENENOIN1OUTIN2DIV_RENENOIN1OUTIN2(3)雙整數(shù)除法

IN1÷IN2=OUT將兩個(gè)32位整數(shù)除,產(chǎn)生一個(gè)32位結(jié)果。(4)實(shí)數(shù)除法

IN1÷IN2=OUT將兩個(gè)實(shí)數(shù)除,產(chǎn)生一個(gè)實(shí)數(shù)結(jié)果。*34DIV_DIDIV_R(3)雙整數(shù)除法(4)實(shí)數(shù)除法*91五、數(shù)學(xué)函數(shù)指令SQRTENENOIN1OUTLNENENOIN1OUTEXPENENOIN1OUTSINENENOIN1OUTCOSENENOIN1OUTTANENENOIN1OUT*35五、數(shù)學(xué)函數(shù)指令SQRTLNEXPSINCOSTAN*92六、增減指令指令將輸入IN加1或者減1,并將結(jié)果存放在OUT中。遞增:IN+1=OUT遞減:IN-1=OUT字節(jié)遞增(INCB)和字節(jié)遞減(DECB)操作是無符號(hào)的。字遞增(INCW)和字遞減(DECW)操作是有符號(hào)的。雙字遞增(INCD)和雙字遞減(DECD)操作是有符號(hào)的。SIMATICIEC1131*36六、增減指令指令將輸入IN加1或者減1,并將結(jié)果存放在*93*37*94七、邏輯運(yùn)算指令對(duì)字節(jié)、字、雙字(按位)進(jìn)行邏輯運(yùn)算1、字節(jié)邏輯運(yùn)算WAND_BENENOIN1OUTIN2WOR_BENENOIN1OUTIN2WXOR_BENENOIN1OUTIN2INV_BENENOIN1OUTIN2與或異或取反2、字邏輯運(yùn)算WAND_WENENOIN1OUTIN2WOR_WENENOIN1OUTIN2WXOR_WENENOIN1OUTIN2INV_WENENOIN1OUTIN2與或異或取反3、雙字邏輯運(yùn)算*38七、邏輯運(yùn)算指令對(duì)字節(jié)、字、雙字(按位)進(jìn)行邏輯運(yùn)算1*95*39*96編程舉例例1根據(jù)波形圖設(shè)計(jì)梯形圖程序(主機(jī)與潤(rùn)滑設(shè)備)I0.0I0.1Q0.0Q0.110S18S*40編程舉例例1根據(jù)波形圖設(shè)計(jì)梯形圖程序(主機(jī)與潤(rùn)滑設(shè)備)*97例2:按下起動(dòng)按鈕,小車到達(dá)左端,同時(shí)壓下行程開關(guān)LS1,小車在此裝料15s后自動(dòng)開始右行,到達(dá)右端,并壓下行程開關(guān)LS2

,下料10s后自動(dòng)左行去裝料,如此自動(dòng)往復(fù)循環(huán),直到按下停止按鈕,小車停止運(yùn)行。要求編寫小車運(yùn)行控制梯形圖程序。解:1、確定I/O類型和數(shù)量開關(guān)量輸入:4個(gè)開關(guān)量輸出:2個(gè)2、分配I/O地址、定義開關(guān)量狀態(tài),起動(dòng)按鈕:I0.0,按下閉合,放開斷開停止按鈕:I0.1,按下斷開,放開閉合行程開關(guān)LS1:I0.2,壓下閉合,放開斷開行程開關(guān)LS2:I0.3,壓下閉合,放開斷開左運(yùn)行輸出信號(hào):Q0.0,1運(yùn)行,0停止右運(yùn)行輸出信號(hào):Q0.1,1運(yùn)行,0停止3、編寫梯形圖程序LS1LS2*41例2:按下起動(dòng)按鈕,小車到達(dá)左端,同時(shí)壓下行程開關(guān)L*98例3進(jìn)出人數(shù)統(tǒng)計(jì)。在門廊裝設(shè)兩個(gè)光電開關(guān),當(dāng)有人遮蔽開關(guān)的光信號(hào)時(shí),開關(guān)閉合,否則斷開。設(shè)計(jì)統(tǒng)計(jì)進(jìn)出人數(shù)的程序。進(jìn)入走出開關(guān)A開關(guān)B*42例3進(jìn)出人數(shù)統(tǒng)計(jì)。在門廊裝設(shè)兩個(gè)光電開關(guān),當(dāng)有人遮*99第三節(jié)數(shù)據(jù)處理指令傳送類指令移位指令字節(jié)交換指令填充指令*43第三節(jié)數(shù)據(jù)處理指令傳送類指令*100一、傳送類指令字節(jié)傳送(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論