第6章-PLC的功能指令_第1頁
第6章-PLC的功能指令_第2頁
第6章-PLC的功能指令_第3頁
第6章-PLC的功能指令_第4頁
第6章-PLC的功能指令_第5頁
已閱讀5頁,還剩89頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

圖6-1EN與ENO

LDI2.4SQRTVD0,VD4AENOMOVBVB8,QB2VD0為負(fù)數(shù)時(shí)無能流流出。刪除AENO后兩個(gè)方框變?yōu)椴⒙?lián)。

在STL指令中,沒有ENO,與之對(duì)應(yīng)的是AENO指令,訪問ENO位用于產(chǎn)生與功能塊ENO相同的效果。6.1.3梯形圖中的網(wǎng)絡(luò)與指令一個(gè)網(wǎng)絡(luò)中只能有一塊獨(dú)立電路。輸入語句表指令時(shí)必須使用英文的標(biāo)點(diǎn)符號(hào)。條件輸入指令、無條件執(zhí)行指令、

6.2程序控制類指令

1.條件結(jié)束指令與停止指令

(1).結(jié)束指令結(jié)束指令有兩條:END和MEND。兩條指令在梯形圖中以線圈形式編程。

END,條件結(jié)束指令。使能輸入有效時(shí),終止用戶主程序。

MEND,無條件結(jié)束指令。無條件終止用戶程序的執(zhí)行,返回主程序的第一條指令。指令格式:END(無操作數(shù))2.停止指令

STOP,停止指令。使能輸入有效時(shí),該指令使主機(jī)CPU的工作方式由RUN切換到STOP方式,從而立即終止用戶程序的執(zhí)行。如果正在執(zhí)行中斷程序,則立即停止并忽略其他正在等待的中斷,返回主程序,在結(jié)束處,完成工作方式的轉(zhuǎn)換。

STOP指令在梯形圖中以線圈形式編程。指令不含操作數(shù)。指令格式:STOP (無操作數(shù))2.循環(huán)指令由FOR和NEXT指令構(gòu)成程序的循環(huán)體。FOR指令標(biāo)記循環(huán)的開始,NEXT指令為循環(huán)體的結(jié)束指令。使能輸入EN有效,循環(huán)體開始執(zhí)行,執(zhí)行到NEXT指令時(shí)返回,每執(zhí)行一次循環(huán)體,當(dāng)前值計(jì)數(shù)器INDX增1,達(dá)到終止值FINAL時(shí),循環(huán)結(jié)束。使能輸入無效時(shí),循環(huán)體程序不執(zhí)行。每次使能輸入有效,指令自動(dòng)將各參數(shù)復(fù)位。啟動(dòng)循環(huán)時(shí),將初始值INIT傳送到INDX中【例6-1】在I0.0=1的上升沿,求VW100~VW108中5個(gè)字的累加和。

網(wǎng)絡(luò)1LD I0.0EUMOVB 0,AC0 //清累加器0MOVD &VB100,AC1 //累加器1(存儲(chǔ)區(qū)指針)指向VB100FOR VW0,1,5 //循環(huán)開始網(wǎng)絡(luò)2LD SM0.0+I *AC1,AC0 //字累加+D 2,AC1 //指針AC1的值加2,指向下一個(gè)變量存儲(chǔ)器字網(wǎng)絡(luò)3NEXT //循環(huán)結(jié)束網(wǎng)絡(luò)4LD I0.0 EUMOVD AC0,VD10 //保存運(yùn)算結(jié)果

1.跳轉(zhuǎn)指令(1)跳轉(zhuǎn)指令

JMP,跳轉(zhuǎn)指令。使能輸入有效時(shí),使程序流程跳到同一程序中的指定標(biāo)號(hào)n處執(zhí)行。(2)標(biāo)號(hào)指令

LBL,標(biāo)號(hào)指令。標(biāo)記程序段,作為跳轉(zhuǎn)指令執(zhí)行時(shí)跳轉(zhuǎn)到的目的位置。操作數(shù)n為0~255的字型數(shù)據(jù)。跳轉(zhuǎn)與標(biāo)號(hào)指令必須在同意程序中。演示如何在主、子及中斷程序中添加局部變量和全局變量(程序塊、符號(hào)表),解釋局部變量的地址分配、如何新增變量。2、創(chuàng)建子程序3、調(diào)用子程序演示子程序的調(diào)用圖6-5在主程序中調(diào)用子程序

LDI0.4CALL模擬量計(jì)算,AIW2,VW20,+2356,VD40

子程序中的定時(shí)

【例6-2】

設(shè)計(jì)求V存儲(chǔ)區(qū)連續(xù)的若干個(gè)字的累加和的子程序。下面是名為“求和”的子程序的局部變量表和STL程序代碼。子程序中的*#POINT是地址指針POINT指定的地址中字變量的值。

網(wǎng)絡(luò)1LD SM0.0MOVD 0,#RESULT //清結(jié)果單元FOR #COUNT,1,#NUMB //循環(huán)開始網(wǎng)絡(luò)2LD SM0.0ITD *#POINT,#TMP1 //將待累加的整數(shù)轉(zhuǎn)換為雙整數(shù)+D #TMP1,#RESULT //雙整數(shù)累加+D 2,#POINT //指針值加2,指向下一個(gè)字網(wǎng)絡(luò)3NEXT

//循環(huán)結(jié)束圖6-7在OB1中調(diào)用子程序

6.4數(shù)據(jù)處理指令6.4.1比較指令

圖6-8比較觸點(diǎn)指令圖6-9自復(fù)位接通延時(shí)定時(shí)器

1秒脈沖發(fā)生器綜合實(shí)例:下圖所示為包括兩臺(tái)傳送帶的系統(tǒng),按下啟動(dòng)按鈕同時(shí)啟動(dòng),按下停止按鈕同時(shí)停止。在兩臺(tái)傳送帶之間有一個(gè)臨時(shí)倉庫區(qū)。傳送帶1將包裹運(yùn)送至倉庫區(qū)。傳送帶1靠近倉庫區(qū)一端安裝的光電傳感器確定已有多少包裹運(yùn)送至倉庫區(qū)。傳送帶2將臨時(shí)庫區(qū)中的包裹運(yùn)送至裝貨場(chǎng),在這里貨物由卡運(yùn)送至顧客。傳送帶2靠近倉庫區(qū)一端安裝的光電傳感器確定已有多少包裹從倉庫區(qū)運(yùn)送至裝貨場(chǎng)。含5個(gè)指示燈的顯示面板表示臨時(shí)倉庫區(qū)的占用程度,指示燈同時(shí)只能亮一個(gè)。每次啟動(dòng)系統(tǒng)倉庫區(qū)初始值置為0。要求:按照?qǐng)D示及上述要求設(shè)計(jì)梯形圖;用可調(diào)的脈沖發(fā)生器1(輸出高電平間隔為0.5S,方波寬度為0.2S)代替光電傳感器1效果,用可調(diào)的脈沖發(fā)生器2(輸出高電平間隔為1S,方波寬度為0.2S)代替光電傳感器2效果進(jìn)行仿真。三臺(tái)電機(jī)分時(shí)啟動(dòng)控制應(yīng)用

控制要求:按下起動(dòng)按鈕后3臺(tái)電機(jī)每隔2S分別依次起動(dòng);按下停止按鈕,3臺(tái)電機(jī)每隔2S依次停止。

使用比較指令6.4.2數(shù)據(jù)傳送指令(重點(diǎn))

1.字節(jié)、字、雙字和實(shí)數(shù)的傳送(單一傳送)作用:將IN的內(nèi)容拷貝到OUT中,IN和OUT的數(shù)據(jù)類型應(yīng)相同,可分別為字,字節(jié),雙字,實(shí)數(shù)

MOV_BMOV_WMOV_DMOV_R

2.字節(jié)立即讀指令(單一傳送)

MOV_BIR讀取1個(gè)字節(jié)的物理輸入字節(jié)立即寫指令MOV_BIW寫1個(gè)字節(jié)的物理輸出。3.字節(jié)、字、雙字的塊傳送指令(塊傳送)作用:將從IN開始的連續(xù)N個(gè)字節(jié)數(shù)據(jù)拷貝到從OUT開始的數(shù)據(jù)塊N的有效范圍是1~255“BMBVB20,VB100,4”4.字節(jié)交換指令注意:字節(jié)、字、雙字傳送指令對(duì)應(yīng)的IN和OUT地址應(yīng)是B、W、D;N對(duì)應(yīng)的N個(gè)數(shù)據(jù)塊。BMWVW100,VW200,8演示仿真6.4.3移位與循環(huán)指令,處理對(duì)象為無符號(hào)數(shù)

1.右移位和左移位指令

使用循環(huán)移位指令實(shí)現(xiàn)霓虹燈控制。要求:一組霓虹燈由8個(gè)LED燈組成,當(dāng)程序初始化后1、3LED燈亮,按下左循環(huán)按鈕后每隔2S向左循環(huán)移位使指示燈分別顯亮,按下右循環(huán)按鈕后每隔2S向右循環(huán)移位使指示燈分別顯亮。6.4.4數(shù)據(jù)轉(zhuǎn)換指令6.4.5表功能指令

1.填表指令TL值為數(shù)據(jù)表的最大長度,EC為為實(shí)際的數(shù)據(jù)項(xiàng),當(dāng)EC>TL時(shí)候SM1.4=1.數(shù)據(jù)2數(shù)據(jù)30003數(shù)據(jù)21234VW210?VW212?SM1.4?命令參數(shù)CMD=1~4,分別代表“=”、“<>”(不等于)、“<”和“>”。

圖6-16先入先出指令舉例

6.4.6讀寫實(shí)時(shí)時(shí)鐘指令讀實(shí)時(shí)時(shí)鐘指令TODR從實(shí)時(shí)鐘讀取當(dāng)前時(shí)間和日期,并把它們裝入以T為起始地址的8字節(jié)緩沖區(qū),依次存放年、月、日、時(shí)、分、秒、0和星期,1為星期日,2~7為星期1~6。寫實(shí)時(shí)時(shí)鐘指令TODW將起始地址為T的8字節(jié)緩沖區(qū)中的時(shí)間和日期寫入實(shí)時(shí)鐘。圖6-18時(shí)鐘指令

【例6-5】出現(xiàn)事故時(shí),I0.0的上升沿產(chǎn)生中斷,使輸出Q1.0立即置位,同時(shí)將事故發(fā)生的日期和時(shí)間保存在VB10~VB17中。//主程序OB1LD SM0.1 //第一次掃描時(shí)ATCH 0,0 //指定在I0.0的上升沿執(zhí)行0號(hào)中斷程序ENI //允許全局中斷//中斷程序0(INT_0)LD SM0.0 //該位總是為ONSI Q1.0,1 //使Q1.0立即置位TODR VB10 //讀實(shí)時(shí)時(shí)鐘【例6-6】用實(shí)時(shí)時(shí)鐘指令控制路燈的定時(shí)接通和斷開,20:00開燈,06:00關(guān)燈,下面是語句表程序。LD SM0.0TODR VB0 //讀實(shí)時(shí)時(shí)鐘,小時(shí)值在VB3LDB>= VB3,16#20 //如果在

20點(diǎn)~0點(diǎn)(日期、時(shí)間值用BCD碼表示)OB< VB3,16#06 //或0點(diǎn)~6點(diǎn)= Q0.0 //點(diǎn)亮路燈霓虹燈控制系統(tǒng)設(shè)計(jì):有一霓虹燈由8組LED指示燈構(gòu)成,當(dāng)按下啟動(dòng)按鈕后霓虹燈開始工作,首先亮的是1\3組燈,然后每隔2S依次向右點(diǎn)亮2\4,3\5,4\6,5\7,6\8燈組;當(dāng)按下反向按鈕時(shí),首先點(diǎn)亮的是6\8燈組,然后每隔2S依次向左點(diǎn)亮5\7,4\6,3\5,2\4,1\3燈組。利用定時(shí)器0實(shí)現(xiàn)2S的高精度定時(shí)。控制系統(tǒng)要求:有兩組指示燈(分別為紅色和綠色),分別有旋鈕SF1和SF2控制啟動(dòng)。當(dāng)SF1閉合時(shí),三只紅色指示燈按HR3->HR2->HR1的順序和2s的時(shí)間間隔循

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論