電器控制與plc技術(shù)應(yīng)用 第5章 s7300的指令系統(tǒng)及編程_第1頁(yè)
電器控制與plc技術(shù)應(yīng)用 第5章 s7300的指令系統(tǒng)及編程_第2頁(yè)
電器控制與plc技術(shù)應(yīng)用 第5章 s7300的指令系統(tǒng)及編程_第3頁(yè)
電器控制與plc技術(shù)應(yīng)用 第5章 s7300的指令系統(tǒng)及編程_第4頁(yè)
電器控制與plc技術(shù)應(yīng)用 第5章 s7300的指令系統(tǒng)及編程_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第5章S7-300的指令系統(tǒng)及編程

STEP7是與西門子公司SIMATICS7系列PLC相配套的支持用戶開(kāi)發(fā)應(yīng)用程序的軟件包,在STEP7中,S7系列PLC常用的編程語(yǔ)言有:LAD(梯形圖)、STL(語(yǔ)句表)、FBD(功能塊圖)等。只有當(dāng)編程語(yǔ)言選擇為L(zhǎng)AD時(shí),在編程環(huán)境中,選擇主菜單的Insert項(xiàng)的ProgramElements,則編輯環(huán)境的左面出現(xiàn)了指令樹(shù)窗口,右面出現(xiàn)了用戶程序窗口,在指令樹(shù)窗口中涵蓋了S7-300的所有常用梯形圖指令,用戶可以采用雙擊或拖拽的方式應(yīng)用到用戶程序的需要處,即用戶可以利用指令樹(shù)窗口的指令在用戶程序窗口中繪制所需的梯形圖程序。如圖5-1所示。其他兩種常用的編程語(yǔ)言不提供指令幫助。

圖5-1S7-300PLC的STEP7編程環(huán)境界面5.1指令及其結(jié)構(gòu)

指令是程序的最小獨(dú)立單元,用戶程序是由若干條順序排列的指令構(gòu)成的。對(duì)應(yīng)語(yǔ)句表和梯形圖兩種編程語(yǔ)言,指令也有語(yǔ)句表指令和梯形圖指令之分。它們表達(dá)形式不同,但表示的內(nèi)容是相同或類似的。5.1.1指令的組成

1.語(yǔ)句表指令(STL)

一條指令由一個(gè)操作碼和一個(gè)操作數(shù)組成,操作數(shù)由標(biāo)識(shí)符和參數(shù)組成。例如:

該指令是一條位邏輯操作指令,其中:“A”是操作碼,它表示執(zhí)行“與”操作;“I1.0”是操作數(shù)。2.梯形圖指令(LAD)

梯形圖指令用圖形元素表示PLC要完成操作。如:

該指令中:——()可認(rèn)為是操作碼,表示一個(gè)二進(jìn)制賦值操作。是操作數(shù),表示賦值的對(duì)象。5.1.2操作數(shù)

一般情況下,指令的操作數(shù)位于PLC的存儲(chǔ)器中,此時(shí)操作數(shù)有操作數(shù)標(biāo)識(shí)符和參數(shù)組成。如圖5-2所示。

圖5-2指令結(jié)構(gòu)及操作數(shù)組成5.2位邏輯指令位邏輯指令主要包括:位邏輯運(yùn)算指令、位操作指令和位測(cè)試指令,梯形圖形式如圖5-2所示。圖

5-2位邏輯指令的梯形圖形式簡(jiǎn)介5.2.1位邏輯運(yùn)算指令

位邏輯運(yùn)算指令是“與”(A)、“與非”(AN)、“或”(O)、“或非”(ON)、“異或”(X)、“異或非”(XN)指令及其組合,它對(duì)“0”或“1”這些布爾操作數(shù)進(jìn)行掃描。1.“與”和“與非”(A,AN)指令

邏輯“與”在梯形圖里是用串聯(lián)的觸點(diǎn)回路表示的,被掃描的操作數(shù)標(biāo)在觸點(diǎn)上方。如果串聯(lián)回路里的所有觸點(diǎn)皆閉合,該回路就通“電”了。2.“或”(O)和“或非”(ON)指令

“或”邏輯在梯形圖里是用并聯(lián)回路表示的,被掃描的操作數(shù)標(biāo)在觸點(diǎn)上方,表示選擇邏輯。在圖5-5中,只要有一條支路導(dǎo)通,輸出的信號(hào)狀態(tài)就為“1”。5.2.2位操作指令

1.輸出指令邏輯串輸出指令又稱為賦值操作指令

,該操作把狀態(tài)操作字中的邏輯操作結(jié)果位(RLO)的值賦給指定的操作數(shù)(位地址)。輸出指令格式如表5-1所示。LAD指令STL指令功

能操作數(shù)類型存儲(chǔ)區(qū)=<位地址>邏輯串賦值輸出BOOL(位)Q、M、D、L=<位地址>A<位地址>中間結(jié)果賦值輸出,不能作為邏輯串的結(jié)尾BOOL(位)表5-1輸出指令

例5-1用“與”、“或”、“輸出”、指令編寫電機(jī)單方向連續(xù)運(yùn)轉(zhuǎn)的控制程序。注意:在PLC控制方式中,啟動(dòng)按鈕一般選擇常開(kāi)按鈕;停止按鈕可以選擇常開(kāi)按鈕形式,也可以選擇常閉按鈕形式;但熱繼電器主要用于保護(hù)電機(jī)的過(guò)載,只有常閉觸點(diǎn)一種形式。其梯形圖(LAD)及語(yǔ)句表(STL)控制程序如圖5-4所示。如果將停止按鈕選擇為常閉觸點(diǎn)形式,則圖5-5的控制線路將如圖5-6所示。圖5-4三相異步電動(dòng)機(jī)的單向運(yùn)轉(zhuǎn)方法1圖5-5三相異步電動(dòng)機(jī)的單向運(yùn)轉(zhuǎn)方法22.嵌套表達(dá)式和先“與”后“或”當(dāng)控制邏輯串是串并聯(lián)的復(fù)雜組合時(shí),先“與”后“或”。當(dāng)想先“或”后“與”時(shí),在用語(yǔ)句表編寫程序時(shí)要將“或”用小括號(hào)括起來(lái)。圖6先串后并的程序結(jié)構(gòu)圖7先并后串的程序結(jié)構(gòu)圖6先串后并圖7先并后串3.置位/復(fù)位指令

當(dāng)置位指令和復(fù)位指令同時(shí)出現(xiàn)時(shí),因?yàn)橄聢D中復(fù)位指令在后,按照掃描的結(jié)果,最終執(zhí)行的是復(fù)位指令,即“誰(shuí)在后,誰(shuí)優(yōu)先”。

如果將上面的獨(dú)立的置位/復(fù)位線圈指令匯總在一起用功能框表示,就構(gòu)成了觸發(fā)器4.觸發(fā)器5.對(duì)RLO的直接操作指令這一類指令直接對(duì)邏輯操作結(jié)果RLO進(jìn)行操作,改變狀態(tài)字中RLO位的狀態(tài)。有關(guān)內(nèi)容見(jiàn)表5-2。LAD指令STL指令功能說(shuō)明——|NOT|——NOT取反RLO在邏輯串中,對(duì)當(dāng)前的RLO取反—SET置位RLO把RLO無(wú)條件置1并結(jié)束邏輯串;使STA置1,OR、FC清0—CLR復(fù)位RLO把RLO無(wú)條件清0并結(jié)束邏輯串;使STA、OR、FC清0——(SAVE)SAVE保存RLO把RLO存入狀態(tài)字的BR位,該指令不影響其他狀態(tài)位表5-2對(duì)RLO的直接操作指令5.2.3跳變沿檢測(cè)指令當(dāng)信號(hào)狀態(tài)發(fā)生變化時(shí)就產(chǎn)生跳變沿。指令格式見(jiàn)表5-3。對(duì)RLO跳變沿檢測(cè)的指令LAD指令STL指令功

能存儲(chǔ)區(qū)FP<位地址>RLO正跳沿檢測(cè),位地址用于存放需要檢測(cè)的RLO的上一掃描周期值,當(dāng)RLO值由0變化到1時(shí),輸出接通一個(gè)掃描周期。Q、M、DFN<位地址>RLO負(fù)跳沿檢測(cè),當(dāng)RLO值由1變化到0時(shí),輸出接通一個(gè)掃描周期。對(duì)觸點(diǎn)跳變沿檢測(cè)的指令RS觸發(fā)器SR觸發(fā)器功

能存儲(chǔ)區(qū)位地址1:被檢測(cè)的觸點(diǎn)地址位地址2:存儲(chǔ)被檢測(cè)觸點(diǎn)上一個(gè)掃描周期的狀態(tài)Q:?jiǎn)畏€(wěn)輸出(只接通一個(gè)掃描周期)Q、M、D、I(I對(duì)位地址2非法)表5-3跳變沿檢測(cè)指令例5-2:用單按鈕來(lái)完成電機(jī)的起??刂啤<雌娲伟聪聻槠饎?dòng);偶次按下為停止。輸入I0.0起停按鈕中間位存儲(chǔ)M0.0存儲(chǔ)I0.0上一周期狀態(tài)輸出Q4.0電機(jī)接觸器線圈M1.0I0.0上升沿檢測(cè)M1.1I0.0偶次上升沿檢測(cè)表單按鈕起??刂频刂贩峙浔?/p>

單按鈕起停程序及時(shí)序圖5.3定時(shí)器與計(jì)數(shù)器指令定時(shí)器指令(Timers)S7中的定時(shí)器與時(shí)間繼電器的工作特點(diǎn)相似,對(duì)定時(shí)器同樣要設(shè)置定時(shí)時(shí)間,也要啟動(dòng)定時(shí)器。除此之外,定時(shí)器還增加了一些功能,如隨時(shí)復(fù)位定時(shí)器、隨時(shí)重置定時(shí)時(shí)間、查看當(dāng)前剩余定時(shí)時(shí)間等。1.定時(shí)器的組成每個(gè)定時(shí)器為2B,稱為定時(shí)字。在S7-300中,最多允許使用256個(gè)定時(shí)器,即T0~T255。?á15?á10000100100111870721三位BCD碼范圍(0~999))時(shí)基1s無(wú)關(guān):當(dāng)定時(shí)器起動(dòng)時(shí)這兩位被忽略2、定時(shí)器的啟動(dòng)與運(yùn)行S7中的定時(shí)器不僅功能強(qiáng),而且類型多。下圖給出了為定時(shí)作業(yè)如何正確選擇定時(shí)器的示意圖。3、定時(shí)器梯形圖方塊指令2、延時(shí)脈沖定時(shí)器1、脈沖定時(shí)器3.接通延時(shí)定時(shí)器4、帶保持的接通延時(shí)定時(shí)器4、定時(shí)器線圈指令

S7-300的五種定時(shí)器除了具有方框圖指令格式外,還具有線圈指令格式

例5-3

某鍋爐的鼓風(fēng)機(jī)和引風(fēng)機(jī)的控制要求如下:

1.按下啟動(dòng)按鈕SB2,引風(fēng)機(jī)立即啟動(dòng),鼓風(fēng)機(jī)比引風(fēng)機(jī)晚10s啟動(dòng)。

2.按下停止按鈕SB1,鼓風(fēng)機(jī)立即停止,引風(fēng)機(jī)比鼓風(fēng)機(jī)晚12s停機(jī)。系統(tǒng)編程元件地址分配及控制時(shí)序如圖所示。圖5-8鼓風(fēng)機(jī)和引風(fēng)機(jī)系統(tǒng)控制程序根據(jù)控制時(shí)序,可選用五種定時(shí)器及其組合完成控制,圖5-8給出了兩種參考控制方案。其中圖5-8采用了接通定時(shí)器(SD)和擴(kuò)展脈沖定時(shí)器(SE)來(lái)完成控制,且采用線圈指令格式5.3.2時(shí)鐘存儲(chǔ)器(ClockMemory)

在S7系列PLC的CPU的位存儲(chǔ)器M中,可以任意指定一個(gè)字節(jié),如MB200,作為時(shí)鐘脈沖存儲(chǔ)器,當(dāng)CPU運(yùn)行時(shí),MB200的各個(gè)位能周期性地產(chǎn)生不同頻率(或周期)的方波脈沖。5.3.3計(jì)數(shù)器指令(Counter)1、計(jì)數(shù)器組成在CPU中保留一塊存儲(chǔ)區(qū)作為計(jì)數(shù)器計(jì)數(shù)值存儲(chǔ)區(qū),每個(gè)計(jì)數(shù)器占用兩個(gè)字節(jié)。2、計(jì)數(shù)器指令的功能框表示形式加計(jì)數(shù)器

減計(jì)數(shù)器

可加/減計(jì)數(shù)器

3、計(jì)數(shù)器線圈指令LAD指令STL指令功

能LC#...SCno.該指令為計(jì)數(shù)器置初始值。當(dāng)RLO有上升沿時(shí),將預(yù)置值十進(jìn)制數(shù)(格式為C#...)裝入累加器1中作為計(jì)數(shù)器的當(dāng)前值。CUCno.加計(jì)數(shù),程序運(yùn)行時(shí)RLO沒(méi)有一個(gè)上升沿時(shí),計(jì)數(shù)值加1,若達(dá)上限999時(shí),停止加計(jì)數(shù)。CDCno.減計(jì)數(shù),程序運(yùn)行時(shí)RLO沒(méi)有一個(gè)上升沿時(shí),計(jì)數(shù)值減1,若達(dá)下限0時(shí),則停止減計(jì)數(shù)。FRCno.允許計(jì)數(shù)器再啟動(dòng),若RLO為1,則初始值再次裝入從新計(jì)數(shù)。4、計(jì)數(shù)器應(yīng)用

(1).比較指令(Comparator)共有六種比較邏輯關(guān)系:等于(==)、不等于(<>)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。若比較結(jié)果為真,則RLO為1,否則為0。(2).計(jì)數(shù)器與比較指令配合應(yīng)用定時(shí)器與計(jì)數(shù)器的配合使用

在S7-300中,一個(gè)定時(shí)器的最大定時(shí)時(shí)間為2h46min30s,當(dāng)定時(shí)時(shí)間大于此值時(shí),可采用如下兩種方案:

1、采用定時(shí)器與定時(shí)器(S-ODT)配合使用,此時(shí)最終定時(shí)時(shí)間為多個(gè)定時(shí)時(shí)間之和。如圖所示在按下啟動(dòng)按鈕()25s后接通。2、采用定時(shí)器與計(jì)數(shù)器配合使用,此時(shí)最終定時(shí)時(shí)間為多個(gè)設(shè)定時(shí)間之積。

定時(shí)器級(jí)聯(lián)的擴(kuò)展方式5.4數(shù)據(jù)處理功能指令

此類指令主要涉及對(duì)數(shù)據(jù)的非數(shù)值運(yùn)算操作,它主要包括裝入和傳送指令、裝換指令、比較指令。裝入和傳送指令(MOV)裝入(L)和傳送(T)指令可以在存儲(chǔ)區(qū)之間或存儲(chǔ)區(qū)與過(guò)程輸入、輸出之間交換數(shù)據(jù)。

1.對(duì)累加器1的裝入和傳送指令2.讀取或傳送狀態(tài)字3.裝入時(shí)間值或計(jì)數(shù)值4.地址寄存器裝入和傳送5、梯形圖方塊傳送指令5.4.2轉(zhuǎn)換指令(Converter)轉(zhuǎn)換指令是將累加器1中的數(shù)據(jù)進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換,轉(zhuǎn)換的結(jié)果仍存放在累加器1中。STEP7能夠?qū)崿F(xiàn)的轉(zhuǎn)換轉(zhuǎn)換操作有:BCD碼與整數(shù)及長(zhǎng)整數(shù)之間的;實(shí)數(shù)與長(zhǎng)整數(shù)之間的轉(zhuǎn)換;數(shù)的取反、取負(fù)操作1.BCD碼與整數(shù)的轉(zhuǎn)換2.實(shí)數(shù)與長(zhǎng)整數(shù)的轉(zhuǎn)換3.?dāng)?shù)的取反取負(fù)對(duì)累加器1中的數(shù)求反碼,就是逐位取反,對(duì)累加器1中的數(shù)求補(bǔ)碼,求補(bǔ)碼只有對(duì)整數(shù)或長(zhǎng)整數(shù)才有意義;實(shí)數(shù)取反,就是將符號(hào)位取反。4.用梯形圖表示轉(zhuǎn)換指令在梯形圖中,所有的轉(zhuǎn)換指令都有對(duì)應(yīng)的功能框表示5.5運(yùn)算指令算術(shù)運(yùn)算指令算術(shù)運(yùn)算指令主要是加、減、乘、除四則運(yùn)算和一些基本的數(shù)學(xué)函數(shù)運(yùn)算。累加器2(+、-、*、/)累加器1=(賦值)累加器11.整數(shù)算術(shù)運(yùn)算(Integerfunction)整數(shù)運(yùn)算指令包含整數(shù)和長(zhǎng)整數(shù)運(yùn)算指令2.實(shí)數(shù)算術(shù)運(yùn)算(Floating-pointfct)

實(shí)數(shù)算術(shù)運(yùn)算指令介紹見(jiàn)表5-31,參與運(yùn)算的所有數(shù)據(jù)必須均為實(shí)數(shù)格式,否則需做必要的轉(zhuǎn)換字邏輯運(yùn)算指令(WordLogic)字邏輯運(yùn)算指令是將兩個(gè)字(數(shù)據(jù)長(zhǎng)度為16位和32位)逐位進(jìn)行邏輯運(yùn)算,參與字邏輯運(yùn)算的兩個(gè)字,一個(gè)是在累加器1中,另一個(gè)可以在累加器2中,或者是立即數(shù)(常數(shù))。字邏輯運(yùn)算的結(jié)果存放在累加器1低字節(jié)中,雙字邏輯運(yùn)算的結(jié)果存放在累加器1中,累加器2的內(nèi)容保持不變。

字邏輯運(yùn)算結(jié)果將影響狀態(tài)字的下列標(biāo)志位:CC1,如果邏輯運(yùn)算的結(jié)果為0,CC1被復(fù)位至0;如果邏輯運(yùn)算的結(jié)果為非0,CC1被置位至1;CC0,在任何情況下,被復(fù)位至0;OV,在任何情況下,被復(fù)位至0。

數(shù)據(jù)運(yùn)算指令應(yīng)用

移位指令移位指令(Shift/Rotate)介紹所有的移位指令均是在累加器1內(nèi)完成,要想完成對(duì)某操作數(shù)的移位,需要先將其裝入累加器1中;1.無(wú)符號(hào)數(shù)移位指令(1)一個(gè)無(wú)符號(hào)數(shù)右移3位的指令及過(guò)程如圖所示。2.有符號(hào)數(shù)移位指令一個(gè)有符號(hào)數(shù)右移3位的指令及過(guò)程如下圖所示。

3.循環(huán)移位指令一個(gè)無(wú)符號(hào)雙字的循環(huán)右移指令及過(guò)程如下圖所示。

5.6.2移位指令應(yīng)用(編輯步進(jìn)架)設(shè)計(jì)狀態(tài)流程圖的方法:首先將全部控制過(guò)程分解為若干個(gè)獨(dú)立的控制功能步(順序段),確定每步的啟動(dòng)條件和轉(zhuǎn)換條件。每個(gè)獨(dú)立的步分別用方框表示,根據(jù)動(dòng)作順序用箭頭將各個(gè)方框連接起來(lái),在相鄰的兩步之間用短橫線表示轉(zhuǎn)換條件。在每步的右邊畫上要執(zhí)行的控制程序。如圖所示:

累加器操作和地址寄存器指令1.累加器操作指令

在S7-300PLC中,有兩個(gè)累加器,分別為累加器1(ACC1)和累加器2(ACC2),所有的數(shù)據(jù)處理及運(yùn)算等運(yùn)算都在兩個(gè)累加器里完成,是PLC的運(yùn)算器。指令說(shuō)

明TAK累加器1和累加器2的內(nèi)容互換PUSH把累加器1的內(nèi)容移入累加器2,累加器2原內(nèi)容被丟掉POP把累加器2的內(nèi)容移入累加器1,累加器1原內(nèi)容被丟掉INC把累加器1低字的低字節(jié)內(nèi)容加上指令中給出的常數(shù),常數(shù)范圍:0~255;指令的執(zhí)行是無(wú)條件的,結(jié)果不影響狀態(tài)字DEC把累加器1低字的低字節(jié)內(nèi)容減去指令中給出的常數(shù),常數(shù)范圍:0~255;指令的執(zhí)行是無(wú)條件的,結(jié)果不影響狀態(tài)字CAW交換累加器1低字中的字節(jié)順序CAD交換累加器1中的字節(jié)順序累加器操作指令表2.地址寄存器指令指

令操作數(shù)說(shuō)

明+AR1指令沒(méi)有指明操作數(shù),則把累加器1低字的內(nèi)容加至地址寄存器1+AR2指令沒(méi)有指明操作數(shù),則把累加器1低字的內(nèi)容加至地址寄存器2+AR1P#Byte.Bit把一個(gè)指針常數(shù)加至地址寄存器1,指針常數(shù)范圍:0.0~4095.7+AR2P#Byte.Bit把一個(gè)指針常數(shù)加至地址寄存器2,指針常數(shù)范圍:0.0~4095.7地址寄存器指令表3.數(shù)據(jù)塊指令LAD指令STL指令說(shuō)

明——(OPEN)OPEN該指令打開(kāi)一個(gè)數(shù)據(jù)塊作為共享數(shù)據(jù)塊或背景數(shù)據(jù)塊CAD該指令交換數(shù)據(jù)塊寄存器,使共享數(shù)據(jù)塊成為背景數(shù)據(jù)塊,反之一樣DBLG該指令將共享數(shù)據(jù)塊的長(zhǎng)度(字節(jié)數(shù))裝入累加器1CBNO該指令將共享數(shù)據(jù)塊的塊號(hào)裝入累加器1DILG該指令將背景數(shù)據(jù)塊的長(zhǎng)度(字節(jié)數(shù))

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論