




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章S7-200SMARTPLC編程指功能令詳細(xì)內(nèi)容……點(diǎn)擊輸入本欄的具體文字,簡(jiǎn)明扼要的說明分項(xiàng)內(nèi)容,此為概念圖解,目錄5.1傳送指令5.2比較指令5.3移位指令5.4數(shù)據(jù)轉(zhuǎn)換指令5.5運(yùn)算指令5.6表功能指令5.7時(shí)鐘指令5.8程序控制指令5.9子程序與子程序指令5.10中斷與中斷指令5.11高速計(jì)數(shù)器指令5.12功能指令的應(yīng)用實(shí)例5.1傳送指令傳送指令的功能是在編程元件之間傳送數(shù)據(jù)。傳送指令可分為單一數(shù)據(jù)傳送指令、字立即傳送指令和數(shù)據(jù)塊傳送指令。5.1.1單一數(shù)據(jù)傳送指令單一數(shù)據(jù)傳送指令用于傳送一個(gè)數(shù)據(jù),根據(jù)傳送數(shù)據(jù)的字長(zhǎng)不同,可分為字節(jié)、字、字和實(shí)數(shù)傳送指令。單一數(shù)據(jù)傳送指令的功能是在EN端有輸入(即EN=1)時(shí),將IN端指定單元中的數(shù)據(jù)送入OUT端指定的單元中。5.1傳送指令指令名稱梯形圖及功能說明操作數(shù)舉例字節(jié)傳送
EN端RLO為1時(shí),將IN端指定字節(jié)單元中的數(shù)據(jù)送人OUT端指定的字節(jié)單元。輸入IN:IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、常數(shù)。輸出OUT:IB、
QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*AC。
當(dāng)I0.1觸點(diǎn)閉合時(shí),將IB0(I0.0~I(xiàn)0.7)單元中的數(shù)據(jù)送人QB0(Q0.0~Q0.7)單元中。字傳送
EN端狀態(tài)為1時(shí),將IN端指定字單元中的數(shù)據(jù)送人OUT端指定的字單元。輸入IN:IW、QW、.VW、MW、SMW、SW、T、C、LW、AC、AIW。輸出OUT:IW、
QW、VW、MW、SMW、SW、T、C、LW、AC、AQW。
當(dāng)I0.2觸點(diǎn)閉合時(shí),將IW0(I0.0~I(xiàn)1.7)單元中的數(shù)據(jù)送人QW0(Q0.0~Q1.7)單元中。雙字傳送
EN端狀態(tài)為1時(shí),將IN端指定雙字單元中的數(shù)據(jù)送人OUT端指定的雙字單元。輸入IN:ID、QD、VD、.MD、.SMD、SD、LD、HC、&VB、&IB、&QB、&MB、&SB、&T、&C、&SMV、*AIW、&AQW、AC。輸出OUT:AC、*VD、*LD、*AC。
當(dāng)I0.3觸點(diǎn)閉合時(shí),將ID0(I0.0~I(xiàn)3.7)單元中的數(shù)據(jù)送人QD0(Q0.0~Q3.7)單元中實(shí)數(shù)傳送
EN端狀態(tài)為1時(shí),將IN端指定雙字單元中的實(shí)數(shù)送入OUT端指定的雙字單元。輸入IN:ID、QD、VD、MD、SMD、SD、LD、AC、*VD、*LD、*AC、常數(shù)輸出OUT:ID、QD、VD、MD、SMD、SD、LD、AC、VD、*LD、*AC。
當(dāng)I0.4觸點(diǎn)閉合時(shí),將實(shí)數(shù)“0.l”的數(shù)據(jù)送人AC0(32位)中表5-1傳送指令5.1傳送指令例5.2電動(dòng)機(jī)-△起動(dòng)。為了降低電動(dòng)機(jī)的起動(dòng)電流,采用-△減壓起動(dòng)控制電路。使接觸器KM2得電,聯(lián)結(jié)的電路接通,然后使三相電源接觸器KM1得電,接通總電源,等電動(dòng)機(jī)轉(zhuǎn)速上升接近額定轉(zhuǎn)速時(shí),將定子繞組的聯(lián)結(jié)的電路斷開,接通△聯(lián)結(jié)的電路,即電源接觸器KM1繼續(xù)得電,聯(lián)結(jié)的接觸器KM2失電,△聯(lián)結(jié)的接觸器KM3得電,電動(dòng)機(jī)進(jìn)入正常運(yùn)行的工作狀態(tài)。圖5-2主電路及控制電路接線圖5.2比較指令比較指令又稱觸點(diǎn)比較指令,其功能是將兩個(gè)數(shù)據(jù)按指定條件進(jìn)行比較,條件成立時(shí)觸點(diǎn)閉合,否則觸點(diǎn)斷開。根據(jù)比較數(shù)據(jù)類型的不同,可分為字節(jié)比較、整數(shù)比較、雙字整數(shù)比較、實(shí)數(shù)比較和字符串比較;根據(jù)比較運(yùn)算關(guān)系的不同,數(shù)值比較可分為=(等于)、>(大于)、>=(大于或等于)、<(小于)、<=(小于或等于)和<>(不等于)共6件。如圖5-6(a)給出了字節(jié)比較使用練習(xí),當(dāng)SMB28大于等于128時(shí),輸出Q0.0接通;圖5-6(b)整數(shù)比較使用練習(xí),當(dāng)MW20不等于258時(shí),V1.2接通;圖5-6(C)雙整數(shù)比較使用練習(xí),當(dāng)MD20大于128時(shí),輸出Q0.7接通;圖5-6(d)實(shí)數(shù)比較使用練習(xí),當(dāng)VD200小于3.14時(shí),M0.0接通。5.2比較指令例5.5圖5-7給出了比較指令在程序中的使用方法。預(yù)先通過傳送指令將要比較的值存放在指定的存儲(chǔ)區(qū)內(nèi),如MW10,然后在比較時(shí)使用直接尋址的方式來(lái)訪問。例如,執(zhí)行傳送指令后,MW10的值為1001,而不是1000,所以該比較指令將閉合,在I0.1導(dǎo)通情況下,Q0.1將導(dǎo)通。該例子中的程序在執(zhí)行時(shí)應(yīng)先導(dǎo)通I1.0,給各個(gè)操作數(shù)賦值,然后再執(zhí)行其他程序段。圖5-7
比較指令的使用梯形圖5.2比較指令例5.6采用比較指令實(shí)現(xiàn)順序控制
根據(jù)按鈕按下次數(shù),依次點(diǎn)亮指示燈。當(dāng)啟動(dòng)按鈕SB1被按下4次時(shí),4個(gè)指示燈順序點(diǎn)亮;當(dāng)按鈕SB2被按下時(shí),4個(gè)指示燈同時(shí)熄滅。SB1接入I0.0,SB1接入SB2。四個(gè)指示燈分別由Q0.0~Q0.3輸出驅(qū)動(dòng)。如圖5-8所示。按下按鈕SB1時(shí),輸入信號(hào)I0.0有效,加計(jì)數(shù)器C0的當(dāng)前計(jì)數(shù)值加“1”,按鈕第一次按下時(shí),計(jì)數(shù)器從當(dāng)前值加“1",再利用大于等于字比較指令,當(dāng)計(jì)數(shù)器的當(dāng)前值大于等于“1"時(shí),輸出信號(hào)Q0.0為ON,第一個(gè)指示燈點(diǎn)亮。再次按下按鈕SB1時(shí),輸入信號(hào)I0.0有效,加計(jì)數(shù)器C0的當(dāng)前計(jì)數(shù)值再加“1”,計(jì)數(shù)器從當(dāng)前值加“1”變?yōu)椤?”,
利用大于等于字比較指令,當(dāng)計(jì)數(shù)器的當(dāng)前值大于等于“2”時(shí),輸出信號(hào)QO.1為ON,控制第二個(gè)指示燈點(diǎn)亮。以此類推,當(dāng)按鈕SB1依次按下時(shí),第三個(gè)信號(hào)燈EL3第四個(gè)信號(hào)燈被依次點(diǎn)亮。
當(dāng)按下按鈕SB2時(shí),輸入信號(hào)10.1有效,計(jì)數(shù)器C0被復(fù)位,其當(dāng)前值變?yōu)镺,大于等于字比較指令的條件不再滿足,輸出信號(hào)全部復(fù)位變?yōu)镺FF,使指示燈全部熄滅。5.2比較指令例5.7采用比較指令實(shí)現(xiàn)占空比可調(diào)的脈沖發(fā)生器,由比較指令和定時(shí)器組成脈沖發(fā)生器,比較指令用來(lái)產(chǎn)生脈沖寬度可調(diào)的方波,脈寬的調(diào)整由比較指令的第二個(gè)操作數(shù)實(shí)現(xiàn)。如圖5-9所示。5.2比較指令當(dāng)起動(dòng)按鈕SB1接通時(shí),輸入信號(hào)IO.O有效,內(nèi)部輔助繼電器MO.O接通,控制定時(shí)器T37工作,通過字比較指令判斷T37當(dāng)前值的變化,當(dāng)T37的當(dāng)前值大于5時(shí),即定時(shí)器T37定時(shí)0.5s,Q0.O脈沖輸出,再經(jīng)過0.5s定時(shí)器T37動(dòng)作,使輔助繼電器IO.1位ON,控制T37復(fù)位,T37當(dāng)前值復(fù)位為O,字比較指令條件不滿足輸出QO.O斷開,并重復(fù)上述過程循環(huán)。改變字比較指令的比較數(shù)據(jù)的數(shù)值就可以改變脈沖輸出的寬度,即實(shí)現(xiàn)占空比可調(diào)的脈沖發(fā)生器。5.3移位指令例5.8假設(shè)IN中的字MW0為2#1001110111111011,當(dāng)I0.0閉合時(shí),OUT端的MWO中的數(shù)是多少?梯形圖如圖5所示。
當(dāng)I0.0閉合時(shí),激活左移指令,IN中的字存儲(chǔ)在MW0中的數(shù)為2#1001110111111011,向左移4位后,OUT端的MW0中的數(shù)是2#1101111110110000,字左移指令示意圖如圖所示。5.3移位指令例5.9
假設(shè)IN中的字MD0為2#1001
1101
1111
1011
1001
1101
1111
1011,當(dāng)I0.0閉合時(shí),OUT端的MD0中的數(shù)是多少?梯形圖如圖所示。5.3移位指令
當(dāng)I0.0閉合時(shí),激活雙字循環(huán)左移指令,IN中的雙字存儲(chǔ)在MDO中,除最高4位外,其余各位向左移4位后,雙字的最高4位,循環(huán)到雙字的最低4位,結(jié)果是OUT端的MD0中的數(shù)是2#1101
1111
1011
1001
1101
1111
1011
1001,其示意圖如圖4-67所示。01111110111001,其示意圖如圖所示。5.4數(shù)據(jù)轉(zhuǎn)換指令例5.12IN中的整數(shù)存儲(chǔ)在MWO中(用十六進(jìn)制表示為16#0016),當(dāng)IO.O閉合時(shí),轉(zhuǎn)換完成后OUT端的MD2中的雙精度整數(shù)是多少?梯形圖和指令表如圖、所示。
當(dāng)IO.O閉合時(shí),激活整數(shù)轉(zhuǎn)換成雙精度整數(shù)指令,IN中的整數(shù)存儲(chǔ)在MWO中(用十六進(jìn)制表示為16#0016),轉(zhuǎn)換完成后OUT端的MD2中的雙精度整數(shù)是16#00000016。但要注意,MW2=16#0000,而MW4=16#0016。5.4數(shù)據(jù)轉(zhuǎn)換指令例5.13
IN中的雙精度整數(shù)存儲(chǔ)在MDO中,(用十進(jìn)制表示為16),轉(zhuǎn)換完成后OUT端的MD4中的實(shí)數(shù)是多少?梯形圖如圖所示。當(dāng)IO.O閉合時(shí),激活雙精度整數(shù)轉(zhuǎn)換成實(shí)數(shù)指令,IN中的雙精度整數(shù)存儲(chǔ)在MDO中(用十進(jìn)制表示為16),轉(zhuǎn)換完成后OUT端的MD4中的實(shí)數(shù)是16.00,一個(gè)實(shí)數(shù)了4個(gè)字節(jié)存儲(chǔ)。5.4數(shù)據(jù)轉(zhuǎn)換指令例5.14將實(shí)數(shù)取整轉(zhuǎn)換成雙整數(shù)的指令有兩條,ROUND四舍五入取整和TRUNC截取取整。IN中為實(shí)數(shù)型常數(shù)7.7,轉(zhuǎn)換后VD10和VD20中的雙整數(shù)是多少?梯形圖如圖所示。SM0.0始終為1,在每一個(gè)掃描周期都要激活兩個(gè)取整指令,轉(zhuǎn)換后VD10中雙整數(shù)是8(十進(jìn)制),VD20中雙整數(shù)是7(十進(jìn)制)。5.4數(shù)據(jù)轉(zhuǎn)換指令5.4.2BCD轉(zhuǎn)換指令例5.16IN中的126(十進(jìn)制)的BCD碼存儲(chǔ)在累加器ACO中,轉(zhuǎn)換完成后OUT端的AC0的整數(shù)數(shù)據(jù)是多少?梯形圖如圖5-19所示。
當(dāng)IO.1觸點(diǎn)閉合時(shí),激活BCD_I指令,將ACO中的BCD碼轉(zhuǎn)換成整數(shù)。例如指令執(zhí)行前ACO中的BCD碼為OOOOOO0100100110(即126),BCD_I指令執(zhí)行后,ACO中的BCD碼被轉(zhuǎn)換成整數(shù)OOOO00000111ll1005.4數(shù)據(jù)轉(zhuǎn)換指令5.4.3編碼、解碼轉(zhuǎn)換指令例5.17
編碼與解碼指令使用如圖所示,當(dāng)IO.O觸點(diǎn)閉合時(shí),執(zhí)行ENCO和DECO指令在執(zhí)行ENCO(編碼)指令時(shí),將AC3中最低有效位1的位號(hào)“9”寫入VB50單元的低4位;在執(zhí)行DECO(解碼)指令時(shí),根據(jù)AC2中低半字節(jié)表示的位號(hào)“3”,將VW40中的第三位置1,其他位全部清零。5.4數(shù)據(jù)轉(zhuǎn)換指令5.4.4七段碼轉(zhuǎn)換指令例5.18
段譯碼指令使用如圖5-21所示,當(dāng)IO.O觸點(diǎn)閉合時(shí),執(zhí)行SEG指令,將VB40中的低4位數(shù)轉(zhuǎn)換成七段碼,然后存入ACO中。例如VBO中的數(shù)據(jù)為OOOOOl10,執(zhí)行SEG指令后,低4位0110轉(zhuǎn)換成七段碼01111101,存入ACO中。5.5運(yùn)算指令5.5.1算術(shù)運(yùn)算指令例5.19
VWO中的整數(shù)為10,VW2中的整數(shù)為21,則當(dāng)IO.O閉合時(shí),整數(shù)相加,結(jié)果VW4中的數(shù)是多少?VD8中的實(shí)數(shù)為10.1,VD12中的整數(shù)為21.1,則當(dāng)IO.O閉合時(shí),實(shí)數(shù)相加,結(jié)果VD16中的數(shù)是多少?梯形圖如圖所示。當(dāng)IO.O閉合時(shí),上升沿檢測(cè)觸頭導(dǎo)通一個(gè)掃描周期,整數(shù)加指令被激活,執(zhí)行一次操作,IN1中的整數(shù)存儲(chǔ)在VWO中,這個(gè)數(shù)為10,IN2中的整數(shù)存儲(chǔ)在VW2中,這個(gè)數(shù)為21,整數(shù)相加的結(jié)果存儲(chǔ)在OUT端的MW4中的數(shù)是31。當(dāng)IO.O閉合時(shí),沒個(gè)掃描周期都激活實(shí)數(shù)加指令,IN1中的實(shí)數(shù)存儲(chǔ)在VD8中,這個(gè)數(shù)為10.1,IN2中的實(shí)數(shù)是常數(shù)21.1,實(shí)數(shù)相加的結(jié)果存儲(chǔ)在OUT端的VD12中,結(jié)果是31.2。5.5運(yùn)算指令例5.20IN1中的雙整數(shù)存儲(chǔ)在VDO中,數(shù)值為22,IN2中的雙整數(shù)存儲(chǔ)在VD4中,數(shù)值為11,當(dāng)IO.O閉合時(shí),雙整數(shù)相減的結(jié)果存儲(chǔ)在OUT端的VD4中,其結(jié)果是多少?梯形圖如圖5-23所示。當(dāng)IO.O閉合時(shí),激活雙整數(shù)減指令,IN1中的雙整數(shù)存儲(chǔ)在VDO中,假設(shè)這個(gè)數(shù)為22,IN2中的雙精度整數(shù)存儲(chǔ)在VD4中,假設(shè)這個(gè)數(shù)為11,雙精度整數(shù)相減的結(jié)果存儲(chǔ)在OUT端的VD4中的數(shù)是11。整數(shù)(SUB_I)指令和實(shí)數(shù)減法指令(SUB_R)與減雙精度整數(shù)(SUB_DI)類似,只不過其數(shù)據(jù)類型不同,在此不再贅述。5.5運(yùn)算指令例5.21
IN1中的整數(shù)存儲(chǔ)在MWO中,數(shù)值為11,IN2中的整數(shù)存儲(chǔ)在MW2中,數(shù)值為11,當(dāng)IO.O閉合時(shí),整數(shù)相乘的結(jié)果存儲(chǔ)在OUT端的MW4中,其結(jié)果是多少?梯形圖如圖5-24所示。當(dāng)IO.O閉合時(shí),激活乘整數(shù)指令,OUT=IN1×IN2,整數(shù)相乘的結(jié)果存儲(chǔ)在OUT端的MW4中,結(jié)果是121。
例5.22
IN1中的雙整數(shù)存儲(chǔ)在VDO中,數(shù)值為11,IN2中的雙整數(shù)存儲(chǔ)在VD4中,數(shù)值為2,當(dāng)IO.O閉合時(shí),雙整數(shù)相除的結(jié)果存儲(chǔ)在OUT端的VD8中,其結(jié)果是多少?梯形圖如圖5-25所示。當(dāng)IO.O閉合時(shí),激活除雙精度整數(shù)指令,IN1中的雙精度整數(shù)存儲(chǔ)在VD0中,數(shù)值為11,IN2中的雙精度整數(shù)存儲(chǔ)在VD4中,數(shù)值為2,雙精度整數(shù)相除的結(jié)果存儲(chǔ)在OUT端的VD8中的數(shù)是5,不產(chǎn)生余數(shù)。5.5運(yùn)算指令例5.22將采集的模擬量數(shù)值進(jìn)行轉(zhuǎn)換,變成相應(yīng)的工程值,這個(gè)過程稱為標(biāo)度變換。
在工業(yè)現(xiàn)場(chǎng),將0-100oC的溫度通過溫度傳感器和變送電路轉(zhuǎn)換為2-10V的電壓信號(hào),送到模擬量輸入端,PLC將其轉(zhuǎn)換為一個(gè)16位的數(shù)字量,存入AI區(qū)。要求將AIW0中的數(shù)據(jù)轉(zhuǎn)換成溫度值。
分析,在S7-200SMARTCPU內(nèi)部,0-10V的電壓信號(hào)對(duì)應(yīng)的數(shù)值范圍為0-3200;對(duì)于2-10V的電壓信號(hào),對(duì)應(yīng)的數(shù)值范圍為6400-3200,在此題目中,對(duì)應(yīng)溫度范圍0-100oC。因此,轉(zhuǎn)換公式為式5-1:為保證轉(zhuǎn)換精度,編程時(shí)先乘后除,轉(zhuǎn)換梯形圖程序如圖5-27所示。SM0.0始終為“1”,在每個(gè)掃描周期,程序從上到下執(zhí)行,將轉(zhuǎn)換結(jié)果,即實(shí)際溫度值存入VD8中5.5運(yùn)算指令5.5.2邏輯運(yùn)算指令例5.24通過邏輯運(yùn)算指令,可以對(duì)變量的某一位進(jìn)行置位或復(fù)位操作。已知VW300、VB302變量,當(dāng)M0.0通電時(shí)通過邏輯指令對(duì)V300.2進(jìn)行復(fù)位操作,當(dāng)M0.1通電時(shí)對(duì)V302.6進(jìn)行置位操作。梯形圖如圖5-32所示。5.5運(yùn)算指令5.5.3數(shù)學(xué)功能指令例5.25求45o正弦值三角函數(shù)輸入時(shí)以弧度為單位。計(jì)算是應(yīng)先將角度轉(zhuǎn)換為弧度(乘以π/180=0.0174).在計(jì)算三角函數(shù)。如梯形圖5-33所示。5.6表功能指令5.6.1填充指令例5.26填充指令的使用舉例填充指令的實(shí)現(xiàn)過程如圖5-34所示。
圖5-34
填充指令的實(shí)現(xiàn)過程執(zhí)行后,從VW200開始到VW218結(jié)束,每個(gè)單元均為0。5.6表功能指令5.6.2填表指令例5.27填表指令的實(shí)現(xiàn)過程如圖5-35所示。
圖5-35
填表指令的實(shí)現(xiàn)過程5.7時(shí)鐘指令例5.29
讀時(shí)鐘指令應(yīng)用舉例梯形圖如圖5-38(a)所示。如果PLC系統(tǒng)的時(shí)間是2009年4月8日8時(shí)6分5秒,星期六,則運(yùn)行的結(jié)果如圖5-38(b)所示。年份存入VBO存儲(chǔ)單元,月份存入Ⅶ1單元,日存入VB2單元,小時(shí)存入VB3單元,分鐘存入VB4單元,秒鐘存入VB5單元,VB6單元為O,星期存入VB7單元,可見共占用8個(gè)存儲(chǔ)單元。
圖5-38讀取時(shí)鐘指令的梯形圖和運(yùn)行結(jié)果設(shè)置實(shí)時(shí)時(shí)鐘(TODW)指令將當(dāng)前時(shí)間和日期寫入用T指定的在8個(gè)字節(jié)的時(shí)間緩沖區(qū)開始的硬件時(shí)鐘。5.7時(shí)鐘指令例5.30
設(shè)置時(shí)鐘指令應(yīng)用舉例
假設(shè)要把2012年9月18日8時(shí)6分28秒設(shè)置成PLC的當(dāng)前時(shí)間,先要做這樣的設(shè):VBO=16#12,VB1=16#09,VB2=16#18,VB3=16#18,VB4=16#08,VB5=16#06,VB6=16#00,VB7=16#28,梯形圖如圖5-39所示。
圖5-39設(shè)置實(shí)時(shí)時(shí)鐘指令梯形圖5.7時(shí)鐘指令例5.31
某實(shí)驗(yàn)室的一個(gè)房間,要求每天16:30~18:00開啟一個(gè)加熱器,請(qǐng)用PLC實(shí)現(xiàn)此功能。先用PLC讀取實(shí)時(shí)時(shí)間,因?yàn)樽x取的時(shí)間是BCD碼格式,所以之后要將BCD碼轉(zhuǎn)化成整數(shù),如果實(shí)時(shí)時(shí)間在16:30~18:00,那么則開啟加熱器,梯形圖如圖5-40所示。
圖5-40時(shí)鐘控制輸出的梯形圖5.8程序控制指令例5.32
單擊2次接鈕IO.O后,VWO和Ⅶ10中的數(shù)值堤多少?單擊2次按鈕,執(zhí)行2次循環(huán)程序,Ⅶ10執(zhí)行20次加1運(yùn)算,所以Ⅶ10結(jié)果為200執(zhí)行1次或者2次循環(huán)程序,VWO中的值都為11。程序如圖5-45所示。
圖5-45
循環(huán)指令應(yīng)用梯形圖5.9子程序與子程序指令例5.33
子程序指令使用舉例
子程序指令使用如圖5-48所示,其中圖5-48(a)為主程序的梯形圖和指令語(yǔ)句表,圖5-45(b)為子程序O的梯形圖,圖5-48(c)為子程序1的梯形圖。主、子程序執(zhí)行的過程是:當(dāng)IO.O觸點(diǎn)閉合時(shí),調(diào)用子程序O指令執(zhí)行,轉(zhuǎn)入執(zhí)行子程序O;在子程序O中,如果IO.1觸點(diǎn)閉合,則將QO.O線圈置位,然后又返回到主程序,開始執(zhí)行調(diào)用子程序O指令的下一條指令(即網(wǎng)絡(luò)2);當(dāng)程序運(yùn)行到網(wǎng)絡(luò)3時(shí),如果IO.3觸點(diǎn)閉合,調(diào)用子程序1指令執(zhí)行,轉(zhuǎn)入執(zhí)行子程序1;如果I0.3觸點(diǎn)斷開,則執(zhí)行網(wǎng)絡(luò)4指令,不會(huì)執(zhí)行子程序1;若I0.3觸點(diǎn)閉合,轉(zhuǎn)入執(zhí)行子程序1后,如果I0.5觸點(diǎn)處于閉合狀態(tài),條件返回指令執(zhí)行,提前從子程序1返回到主程序,子程序1中的網(wǎng)絡(luò)2指令無(wú)法執(zhí)行。5.9子程序與子程序指令例5.34
用帶參數(shù)的子程序調(diào)用指令實(shí)現(xiàn)Y=(X+20)×3÷8運(yùn)算。首先分析,完成此任務(wù)需要建立的局部變量的數(shù)量、類型及數(shù)據(jù)類型,要實(shí)現(xiàn)上式的運(yùn)算,在編寫程序時(shí)需要建立一個(gè)IN變量,兩個(gè)TEMP變量和一個(gè)OUT變量,數(shù)據(jù)類型設(shè)置為INT型,如圖5-51所示。5-51變量表編寫帶參數(shù)的子程序,實(shí)現(xiàn)上述運(yùn)算,可以給子程序重心命名,本例命名為計(jì)算,如圖5-52(a)所示。要想實(shí)現(xiàn)多個(gè)數(shù)據(jù)的運(yùn)算,只需要在主程序多次調(diào)用子程序即可,如圖5-52(b)所示,主程序調(diào)用了兩次主程序,可以實(shí)現(xiàn)對(duì)VW0和VW2的運(yùn)算,并把運(yùn)算結(jié)果返回到VW10和VW20中。5.9子程序與子程序指令程序執(zhí)行過程為:在主程序中,常ON觸點(diǎn)SMO.O處于閉合狀態(tài),首先執(zhí)行第一個(gè)帶參數(shù)子程序調(diào)用指令,轉(zhuǎn)入執(zhí)行子程序,同時(shí)將VWO單元中的數(shù)據(jù)作為X值傳入子程序的LWO單元(局部變量存儲(chǔ)器)。在子程序中,ADD_I指令先將LWO中的值+20,結(jié)果存人LW4中,然后MUL_I指令將LW4中的值×3,結(jié)果存人LW6中,DIV_I指令再將LW6中的值÷8,結(jié)果存人LW2中,最后子程序結(jié)束返回主程序,同時(shí)子程序LW2中的數(shù)據(jù)作為Y值被傳入主程序的VW10單元中。子程序返回主程序后,接著執(zhí)斧主程序中的第二個(gè)帶參數(shù)子程序調(diào)用指令,又將VW2中的數(shù)據(jù)作為X值傳入子程序進(jìn)行(X+20)×3÷8運(yùn)算,運(yùn)算結(jié)果作為Y值返回到VW20單元中。5-52帶參數(shù)子程序調(diào)用梯形圖(a)(b)5.10中斷與中斷指令例5.35
中斷程序基本應(yīng)用舉例中斷指令的使用如圖5-54所示,圖5-54(a)為主程序,圖5-54(b)為名稱為INT_O的中斷程序。在主程序運(yùn)行時(shí),若IO.O端口輸入一個(gè)脈沖下降沿(如IO.O端口外接開關(guān)突然斷開),馬上會(huì)產(chǎn)生一個(gè)中斷請(qǐng)求,即中斷事件1產(chǎn)生中斷請(qǐng)求,由于在主程序中已用ATCH指令將中斷事件1與INT_O中斷程序連接起來(lái),故系統(tǒng)響應(yīng)此請(qǐng)求,停止主程序的運(yùn)行,轉(zhuǎn)而運(yùn)行INT_O中斷程序,中斷程序執(zhí)行完成后又返回主程序。在主程序運(yùn)行時(shí),如果系統(tǒng)檢測(cè)到I/O發(fā)生錯(cuò)誤,會(huì)使SM5.0觸點(diǎn)閉合,中斷分離DTCH指令執(zhí)行,禁用中斷事件1,即當(dāng)IO.O端口輸入一個(gè)脈沖下降沿時(shí),系統(tǒng)不理會(huì)該中斷,也就不會(huì)執(zhí)行INT_O中斷程序,但還會(huì)接受其他中斷事件發(fā)出的請(qǐng)求;如果IO.6觸點(diǎn)閉合,中斷禁止DISI指令執(zhí)行,禁止所有的中斷事件。在中斷程序運(yùn)行時(shí),如果IO.5觸點(diǎn)閉合,中斷條件返回RETI指令執(zhí)行,中斷程序提前返回,不會(huì)執(zhí)行該指令后面的內(nèi)容。5.10中斷與中斷指令(a)主程序
(b)中斷程序5.10中斷與中斷指令例5.36采用中斷指令對(duì)抹蜜了輸入信號(hào)周期性采集在主程序運(yùn)行時(shí),PLC第一次掃描時(shí)SMO.1觸點(diǎn)接通一個(gè)掃描周期,MOV_B指令首先執(zhí)行,將常數(shù)10送人定時(shí)中斷時(shí)間存儲(chǔ)器SMB34中,將定時(shí)中斷時(shí)間間隔設(shè)為1Oms,然后中斷連接ATCH指令執(zhí)行,將中斷事件10(即定時(shí)器中斷O)與INT_O中斷程序連接起來(lái),再執(zhí)行中斷允許ENI指令,允許所有的中斷事件。當(dāng)定時(shí)中斷時(shí)間存儲(chǔ)器SMB34
10ms定時(shí)時(shí)間間隔到時(shí),會(huì)向系統(tǒng)發(fā)出中斷請(qǐng)求,由于該中斷事件對(duì)應(yīng)INT_O中斷程序,所以PLC馬上執(zhí)行INT_O中斷程序,將模擬量輸入AIWO單元中的故據(jù)傳送到VW100單元中;當(dāng)SMB34下一個(gè)10ms定時(shí)時(shí)間間隔到時(shí),又會(huì)發(fā)出中斷請(qǐng)求,從而又執(zhí)行一次中斷程序,這樣程序就可以每隔10ms時(shí)間對(duì)模擬輸入AIWO單元數(shù)據(jù)采樣一次。(a)主程序
(b)中斷程序5.10中斷與中斷指令(a)主程序
(b)中斷程序5.11高速計(jì)數(shù)器指令例5.36高速計(jì)數(shù)器的數(shù)值讀取高速計(jì)數(shù)器計(jì)數(shù)值的讀取如圖5-61所示。當(dāng)IO.O觸點(diǎn)由斷開轉(zhuǎn)為閉合時(shí),上升沿P觸點(diǎn)接通一個(gè)掃描周期,MOV_DW指令執(zhí)行,將高速計(jì)數(shù)器HSCO的當(dāng)前計(jì)數(shù)值(保存在HCO單元)讀人并保存在VD200單元。圖5-61高速計(jì)數(shù)器計(jì)數(shù)值的讀取梯形圖5.11高速計(jì)數(shù)器指令例5.37高速計(jì)算器的計(jì)數(shù)值設(shè)置高速計(jì)數(shù)器計(jì)數(shù)值的設(shè)置如圖5-62所示。當(dāng)I0.2觸點(diǎn)由斷開轉(zhuǎn)為閉合時(shí),上升沿P觸點(diǎn)接通一個(gè)掃描周期,首先第1個(gè)MOV_DW指令執(zhí)行,將新CV值(當(dāng)前計(jì)數(shù)值)“100"送人SMD38單元;然后第2個(gè)MOVDW指令執(zhí)行,將新PV值(預(yù)設(shè)計(jì)數(shù)值)“200"送人SMD42單元;接著高速計(jì)數(shù)器HSCO的控制字節(jié)中的SM37.5、SM37.6兩位均得電為1,允許HSCO更新CV值和PV值;最后HSC
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)圓跳動(dòng)檢測(cè)治具數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年綜合垂直燃烷測(cè)定儀項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年雙卡式標(biāo)準(zhǔn)型修補(bǔ)器項(xiàng)目投資價(jià)值分析報(bào)告
- 2025-2030年中國(guó)苯并咪唑酮行業(yè)深度研究分析報(bào)告
- 2025年聚氧乙烯醚項(xiàng)目評(píng)估報(bào)告
- 2025年注射式植筋膠行業(yè)深度研究分析報(bào)告
- 年產(chǎn)3萬(wàn)噸微粉可行性研究報(bào)告申請(qǐng)建議書
- 主題六 任務(wù)二 采集音頻 教學(xué)設(shè)計(jì) -2023-2024學(xué)年桂科版初中信息技術(shù)七年級(jí)下冊(cè)
- 2025年度實(shí)驗(yàn)室設(shè)備租賃合同模板
- 中國(guó)農(nóng)業(yè)生態(tài)園行業(yè)市場(chǎng)全景評(píng)估及投資戰(zhàn)略研究報(bào)告
- 湖北省武漢市2024年七年級(jí)下學(xué)期期末數(shù)學(xué)試題附答案
- 遼寧省撫順市順城區(qū)2023-2024學(xué)年下學(xué)期八年級(jí)物理期中考試題
- 銀行零星裝飾維修 投標(biāo)方案(技術(shù)方案)
- 鎖骨骨折個(gè)案護(hù)理
- 農(nóng)民專業(yè)合作社財(cái)務(wù)報(bào)表(三張報(bào)表)
- 殯葬禮儀服務(wù)整體服務(wù)方案
- 廣東中考英語(yǔ)考綱1600詞匯表及300詞組表(整理打印版)
- 學(xué)校安全班主任培訓(xùn)
- 小班數(shù)學(xué)活動(dòng)《寶寶送物品》課件
- 《電焊工培訓(xùn)》課件
- 《醫(yī)院感染概論》課件
評(píng)論
0/150
提交評(píng)論