第五章 應用指令_第1頁
第五章 應用指令_第2頁
第五章 應用指令_第3頁
第五章 應用指令_第4頁
第五章 應用指令_第5頁
已閱讀5頁,還剩136頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第5章應用指令5.1程序控制類指令5.2特殊指令5.1程序控制類指令

5.1.1結束及暫停指令5.1.2看門狗指令5.1.3跳轉指令5.1.4子程序指令

5.1.5程序循環(huán)指令5.1.6順序控制繼電器指令5.1.7與ENO指令

返回本章首頁5.1.1結束及暫停

1.結束指令結束指令有兩條:END和MEND。兩條指令在梯形圖中以線圈形式編程。END,條件結束指令。使能輸入有效時,終止用戶主程序。MEND無條件結束指令。無條件終止用戶程序的執(zhí)行,返回主程序的第一條指令。用Micro/Win32編程時,編程人員不需手工輸入MEND指令,而是由軟件自動加在主程序結尾。指令格式:END (無操作數(shù))2.暫停指令STOP,暫停指令。使能輸入有效時,該指令使主機CPU的工作方式由RUN切換到STOP方式,從而立即終止用戶程序的執(zhí)行。STOP指令在梯形圖中以線圈形式編程。指令不含操作數(shù)。指令的執(zhí)行不考慮對特殊標志寄存器位和能流的影響。指令格式:STOP(無操作數(shù))返回本節(jié)5.1.2看門狗

WDR,看門狗復位指令。當使能輸入有效時,執(zhí)行WDR指令,每執(zhí)行一次,看門狗定時器就被復位一次。S7的看門狗WDR的設定值為300ms,有時在循環(huán)或調用子程序,響應中斷服務程序時,掃描時間超過300ms,WDR會認為出錯??捎帽局噶羁捎靡匝娱L掃描周期,從而可以有效避免看門狗超時錯誤。指令格式:WDR (無操作數(shù))程序實例:指令STOP、END、WDR的應用如圖5.2所示。圖5.1停止、結束、看門狗指令返回本節(jié)5.1.3跳轉

1.跳轉指令與跳轉相關的指令有下面兩條:(1)跳轉指令JMP,跳轉指令。使能輸入有效時,使程序流程跳到同一程序中的指定標號n處執(zhí)行。執(zhí)行跳轉指令時,邏輯堆棧的棧頂值總是1。(2)標號指令LBL,標號指令。標記程序段,作為跳轉指令執(zhí)行時跳轉到的目的位置。操作數(shù)n為0~255的字型數(shù)據(jù)。程序實例:某生產線對產品進行加工處理,同時用增減計數(shù)器對成品進行計數(shù),如果檢測到100個成品就要跳過某些控制程序直接進入小包裝控制程序;若檢測到900個成品,則程序跳轉到大包裝控制程序。程序如下:圖5.2程序跳轉實例5.1.4子程序指令

編寫子程序的步驟1.建立子程序2.編寫子程序3.在主程序、其他子程序、或中斷程序中調用子程序(帶參數(shù)的子程序)1.建立子程序

可用編程軟件Edit菜單中的Insert選項,選擇Subroutine,以建立或插入一個新的子程序,同時在指令樹窗口可以看到新建的子程序圖標,默認的程序名是SBR_n,編號n從0開始按遞增順序生成,可以在圖標上直接更改子程序的程序名。在指令樹窗口雙擊子程序的圖標就可對它進行編輯。2.子程序調用

(1)子程序調用和返回指令子程序調用

子程序條件返回(2)注意事項可有64個子程序,可以嵌套子程序,最大嵌套深度為8子程序內不能用END指令不允許直接遞歸(自己調用自己),可間接遞歸(3)應用實例

SBR1EN(RET)圖5.3所示的程序實現(xiàn)用外部控制條件分別調用兩個子程序。圖5.3子程序調用舉例(1)子程序參數(shù)---最多可帶16個參數(shù),每個參數(shù)包含:

變量名

變量類型(IN類型、IN/OUT、OUT)數(shù)據(jù)類型(位、字節(jié)、字、雙字、實型)(2)參數(shù)子程序調用的規(guī)則參數(shù)與局部變量標的定義相匹配參數(shù)順序是:輸入,輸入/輸出,輸出(3)程序實例

3.帶參數(shù)的子程序調用

圖5.5帶參數(shù)的子程序調用返回本節(jié)以上面指令為例,局部變量表分配如表5.1所示,程序段如圖5.5所示。表5.1局部變量表例5.1.5程序循環(huán)

1.循環(huán)開始FOR每執(zhí)行一次循環(huán)計數(shù)值加1,當計數(shù)值大于終值,則循環(huán)終止。2.循環(huán)結束NEXT3.

程序實例

FORENENOINDXINITFINAL(NEXT)計數(shù)值初值終值圖5.6程序循環(huán)(1)返回本節(jié)圖5.6程序循環(huán)(2)5.1.7順序控制繼電器

順序控制繼電器S是專門用于編寫順序控制程序(常稱為步進控制)的。所謂順序控制,使生產過程按生產工藝的要求預先安排的順序自動地進行生產的控制方式。一個步進控制程序是由若干個SCR段組成,每個SCR段對應步進控制中的一個功能控制步。1.順序繼電器指令(1)段開始指令功能:標記一個SCR段的開始,操作數(shù)是順序繼電器Sx.y(如S0.0)。當順序繼電器Sx.y=1啟動SCRx.y的順序程序。即允許該SCR段工作。(2)段轉移功能:是當Sx.y=1,將當前的SCR段停止,切換到下一個SCR。其操作數(shù)為下一個SCR的標志位(如S0.1)(3)段結束功能:標記一個段的結束。SCRSx.yLSCRSnSn(SCRT)SCRTSnSn(SCRE)SCRE本例是用順序繼電器實現(xiàn)的順序控制中的一個步的程序段,這一步實現(xiàn)的功能是使兩個電機M1和M2起動運行20秒后停止,切換到下一步。程序如圖5.7所示。返回本節(jié)2.程序實例3.結構形式(1)順序結構

(2)分支結構

選擇性分支

并發(fā)性分支

(3)循環(huán)結構

(4)復合結構

各順序控制段的轉換不帶分支和匯合的順控過程。將復雜的控制分解若干個獨立控制功能步,用方框表示,根據(jù)動作順序用箭頭將各方框連接起來,在相鄰的兩步之間用段橫線表示轉換條件。在每步的右邊畫上要執(zhí)行的控制程序。S0.1()Q0.0S0.2()Q0.1S0.3()Q0.2I0.0I0.1I0.2(1)順序結構(1)順序結構(2)分支結構圖5.9選擇性分支1)選擇分支執(zhí)行完1步,當A或D或G或I為1,1步復位,2或4或6或7開始執(zhí)行;8步執(zhí)行,由C或F或H或J為1決定,執(zhí)行時順序繼電器置1,3、5、6、7順序繼電器復位2)并發(fā)性分支當A為1,1步復位,2467同時置位開始工作。為提高工作效率,各支路的工作時間盡量接近一致。圖5.10并發(fā)性分支用水平雙線表示并行分支開始和結束。(3)循環(huán)結構循環(huán)結構用于一個順序過程的多次或往復執(zhí)行。功能圖畫法如圖5.11所示,這種結構可看作是選擇性分支結構的一種特殊情況。

圖5.11循環(huán)結構(4)復合結構圖5.12功能流程圖舉例返回本節(jié)幾種結構組合5.1.8與ENO指令

AENO,與ENO指令。ENO是梯形圖和功能框圖編程時指令盒的布爾能流輸出端。如果指令盒的能流輸入有效,同時執(zhí)行沒有錯誤,ENO就置位,將能流向下傳遞。當用梯形圖編程時,且指令盒后串聯(lián)一個指令盒或線圈,語句表語言中用AENO指令描述。

指令格式:AENO(無操作數(shù))圖5.13與ENO指令AENO指令只能在語句表中使用,將棧頂值和ENO位的邏輯與運算,運算結果保存到棧頂。程序如圖5.13所示。返回本節(jié)5.2特殊指令

5.2.1時鐘指令

5.2.2中斷

5.2.3通信

5.2.4高速計數(shù)

5.2.5高速脈沖輸出

5.2.6

PID回路指令

返回本章首頁5.2.1時鐘指令

1.讀實時時鐘TODR,讀實時時鐘指令。當使能輸入有效時,系統(tǒng)讀當前時間和日期,并把它裝入一個8字節(jié)的緩沖區(qū)。

2.寫實時時鐘TODW,寫實時時鐘指令。用來設定實時時鐘。當使能輸入有效時,系統(tǒng)將包含當前時間和日期,一個8字節(jié)的緩沖區(qū)將裝入時鐘。

VB300首地址READ_RTCENENOTTODRTSET_RTCENENOTTODWTVB300表5.2時鐘緩沖區(qū)格式程序實例控制要求:編寫一段程序,可實現(xiàn)讀、寫實時時鐘,并以BCD碼顯示分鐘。時鐘緩沖區(qū)從VB100開始。程序中的子程序SBR_0為寫時鐘子程序,將當前時間寫入從VB100開始的8字節(jié)時間緩沖區(qū),時間設置如下表5.3所示。程序實現(xiàn):讀寫時鐘程序如圖5.9所示。LDI0.4 //裝入觸點EU//上跳沿觸發(fā)CALL SBR_0 //調用子程序

LDSM0.0 //運行有效TODR VB100 //從VB100 //讀時鐘值MOVB VB104,VB0//傳送指令SEGVB0,QB0 //將分鐘值低位//從QB0輸出SRBVB0,4//右移4位SEGVB0,QB1 //將分鐘值低位//從QB1輸出子程序SBR_0//作用為寫時鐘5.2.2中斷

1.中斷源(1)中斷源及種類中斷源,即中斷事件發(fā)出中斷請求的來源。S7-200可編程序控制器具有34個中斷源,每個中斷源都分配一個編號用以識別,稱為中斷事件號。這些中斷源大致分為三大類:通信中斷、輸入輸出中斷和時基中斷。(2)中斷優(yōu)先級

中斷優(yōu)先級由高到低依次是:通信中斷、輸入輸出中斷、時基中斷。每種中斷中的不同中斷事件又有不同的優(yōu)先權。主機中的所有中斷事件及優(yōu)先級如表5.4所示。表5.4中斷事件及優(yōu)先級2.中斷操作指令包括:(1)開中斷指令ENI---全局開放所有被連接的中斷事件(2)關中斷指令DISI---全局關斷所有被連接的中斷事件(3)中斷連接指令ATCH功能:建立一個中斷事件EVNT與一個標號為INTn中斷服務程序聯(lián)系,并對該中斷事件開放。(ENI)(DISI)

ATCHENENOINTEVNT(4)中斷分離指令DTCH功能:取消某個中斷事件EVNT與所有中斷程序的關聯(lián),并對該事件關中斷。(5)中斷返回指令RETI和CRET注意事項中斷服務程序中,不能使用開中斷指令ENI、關中斷指令DISI、定義高速計數(shù)器指令HDEF、步進開始指令LSCR、條件結束指令END。程序實例有條件返回無條件返回(3)程序實例控制要求:程序實現(xiàn)的功能是用I0.4調用I0.1輸入點的上升沿中斷,若發(fā)現(xiàn)I/O錯誤,則禁止本中斷,用外部條件I0.5可以禁止全局中斷。程序實現(xiàn):本程序如圖5.10所示。圖5.10中斷調用程序3.中斷程序(1)構成中斷程序必須由三部分構成:中斷程序標號、中斷程序指令和無條件返回指令。(2)編制方法建立中斷程序INTn在INTn中編寫其服務程序編寫中斷連接指令允許中斷返回本節(jié)定時中斷0,設定100ms,在中斷服務程序中進行數(shù)據(jù)采集和變換溫度模擬量數(shù)據(jù)采集實例0~200度范圍測量的實際溫度=(AIW-6552)/[(32760-6552)/200]2復習思考題一個溫度檢測系統(tǒng),用Pt100熱電阻,測溫范圍為0~200度(電流輸出),如測得環(huán)境溫度為35度,問A/D轉換后的數(shù)字量?0~200度對應4~20mA12為數(shù)字量12為數(shù)字量111111111111000001100110011000測量的實際溫度=(AIW-6552)/[(32760-6552)/200]5.2.3通信

通信指令包括:XMT,自由口發(fā)送指令RCV,自由口接收指令NETR,網(wǎng)絡讀指令NETW,網(wǎng)絡寫指令GPA,獲取口地址指令一、S7-200的網(wǎng)絡通信字符數(shù)據(jù)格式(1)10位字符數(shù)據(jù)傳送數(shù)據(jù)由1個起始位、8個數(shù)據(jù)位、無校驗位、一個停止位組成。傳送速率一般為9600波特。(2)11位字符數(shù)據(jù)傳送數(shù)據(jù)由1個起始位、8個數(shù)據(jù)位、1個偶校驗位、一個停止位組成。傳送速率一般為9600波特或19200波特。S7-200被默認為是從站。在采用PPI通信協(xié)議時,若設置為PPI主站模式,PLC主機可以在RUN工作方式下為主站,可以用通信指令讀取其他PLC主機的數(shù)據(jù)。通信協(xié)議控制寄存器SMB30控制和設置通信端口0,如果PLC主機上有通信端口1,則用SMB130來進行控制和設置。SMB30和SMB130的各位及其的含義如下:將特殊標志寄存器中的SMB30和SMB130的低2位置為2#10,其他位為0,即SMB30和SMB130的值為16#2,則可以控制將S7-200CPU設置為PPI主站模式。(1)PP位:奇偶選擇(2)D位:有效位數(shù)(3)BBB位:自由口波特率(4)MM位:協(xié)議選擇MM:00=PPI從站模式01=自由口協(xié)議

10=PPI主站模式11=保留網(wǎng)絡通信指令在S7-200的PPI主站模式下,網(wǎng)絡通信指令有兩條:1網(wǎng)絡讀指令(NETR)功能:EN有效通過端口PORT從遠程設備接收數(shù)據(jù),并形成數(shù)據(jù)表。NETR指令最多可以從遠程設備上接受16字節(jié)的信息。2網(wǎng)絡寫指令(NETW)功能:EN有效通過端口PORT將數(shù)據(jù)表TBL中的數(shù)據(jù)發(fā)送到遠程設備。最多可以向遠程設備發(fā)送16字節(jié)的信息。NETRENENOTBLPORTNETWENENOTBLPORT傳送數(shù)據(jù)表(1)數(shù)據(jù)表格式執(zhí)行網(wǎng)絡讀寫指令時,PPI主站與從站之間的數(shù)據(jù)以數(shù)據(jù)表的格式傳送。傳送數(shù)據(jù)表的格式描述如表5.5示。表5.5傳送數(shù)據(jù)表格式(2)狀態(tài)字節(jié)傳送數(shù)據(jù)表中的第一個字節(jié)為狀態(tài)字節(jié),各位及其的含義如下:D—完成狀態(tài)。D=0未完成,D=1完成A—有效狀態(tài)。A=0無效,A=1有效操作已被排隊E—錯誤狀態(tài)。E=0無錯誤,E=1有錯誤0—無效位E1、E2、E3、E4錯誤編碼。如果執(zhí)行指令后E位為1,則由這4位返回一個錯誤碼。這4位組成的錯誤編碼及含義如表5.6所示。錯誤編碼表應用實例有一簡單網(wǎng)絡,結構如下圖8.17所示。其中TD200為主站,在RUN模式下,CPU224在用戶程序中允許PPI主站模式,可以利用NETR和NETW指令來不斷讀寫兩個CPU221模塊中的數(shù)據(jù)。操作要求:站4要讀寫兩個遠程站(站2和站3)的狀態(tài)字節(jié)和計數(shù)值(分別放在VB100和VW101中)。如果某個遠程站中的計數(shù)值達到200,站4將發(fā)生一定動作,并將該遠程站的計數(shù)值清0,重新計數(shù)。分析:網(wǎng)絡通信---要將站4設置為PPI主站模式主站建立接收與發(fā)送數(shù)據(jù)表,用以讀寫從站CPU224通信端口號為0,從VB200開始設置接收和發(fā)送緩沖區(qū)。接收緩沖區(qū)從VB200開始,發(fā)送緩沖區(qū)從VB250開始,內容如表5.6所示。該網(wǎng)絡通信用戶程序如圖5.18所示。表5.6緩沖區(qū)設置圖5.18網(wǎng)絡程序實例(1)圖8.18網(wǎng)絡程序實例(2)返回本節(jié)二、自由口通信1相關寄存器及標志2自由口指令3應用實例自由口通信是用戶可自定義通信協(xié)議,通過建立通信中斷事件,使用通信指令控制PLC串口與其他設備進行通信。返回本章首頁1相關寄存器及標志1).控制寄存器2).特殊標志位及中斷3).特殊存儲器字節(jié)1)控制寄存器SMB30或SMB130用以設置自由口通信協(xié)議SMB30控制和設置通信端口0,如果PLC主機上有通信端口1,則用SMB130來進行控制和設置。SMB30和SMB130的各位及其的含義如下:(1)PP位:奇偶選擇00—無奇偶,01---偶校驗,10--無奇偶,11--奇校驗(2)D位:有效位數(shù)0---8位/字符,1---7位/字符(3)BBB位:自由口波特率選擇000=38400bit/s,001=19200bit/s,010=9600bit/s…….(4)MM位:協(xié)議選擇11---保留00—PPI從站模式,01—自由口協(xié)議,10—PPI主站模式2.特殊標志位及中斷中斷接收中斷:中斷事件號為8(口0)和25(口1)。發(fā)送完成中斷:中斷事件號為9(口0)和26(口1)。接收完成中斷:中斷事件號為23(口0)和24(口1)。特殊標志位SM4.5和SM4.6:分別用來表示口0和口1發(fā)送空閑狀態(tài)3.特殊存儲器字節(jié)接收信息時用到一系列特殊功能存儲器。對端口0用SMB86到SMB94;對端口1用SMB186到SMB194。各字節(jié)及內容描述如下表5.7所示。返回本節(jié)2自由口指令1.XMT指令XMT,發(fā)送指令。使能輸入有效時,指令初始化通信操作,通過通信端口PORT將數(shù)據(jù)表TBL中的數(shù)據(jù)發(fā)送到遠程設備。發(fā)送緩沖區(qū)(數(shù)據(jù)表)TBL的格式如表5.8所示。XMT2.RCV指令RCV,接收指令。使能輸入有效時,指令初始化通信操作,通過通信端口PORT從遠程設備上接收數(shù)據(jù)并放到緩沖區(qū)(數(shù)據(jù)表)TBL。接收緩沖區(qū)TBL的格式如表5.8所示。返回本節(jié)應用實例---例3-41以自由口通信方式向個人計算機不斷地發(fā)送“S7-200”六個ASCII碼。編程思路:建立通信協(xié)議-----設置SM30或SM130建立發(fā)送數(shù)據(jù)表編寫發(fā)送指令(一秒鐘發(fā)送一次)程序如下//初始化自由口選9600bit/s,8為數(shù)據(jù),無奇偶校驗//建發(fā)送數(shù)據(jù)表---將s7字符送表地址VW100//將-2字符送表地址VW102//將00字符送表地址VW104//數(shù)據(jù)表長度送VB99//發(fā)送指令例3-42個人計算機和PLC之間接受和發(fā)送信息。編程思路:用接收完成中斷,發(fā)送完成中斷實現(xiàn)接受和發(fā)送。主程序建立通信協(xié)議建立數(shù)據(jù)表建立接收完成中斷事件連接建立發(fā)送完成中斷事件連接開中斷設有三個中斷程序:接收完成中斷,定時中斷,發(fā)送完成中斷接收完成中斷引發(fā)定時中斷通信協(xié)議設置SMB30

00001001接收信息控制字節(jié)SMB87EN接收允許1SC是否用SM88檢測起始信息0EC是否用SM89檢測結束信息1IL是否用SM90檢測空閑狀態(tài)1C/M定時器定時性質0TMR是否用SM92的值終止接收0BK是否用中斷條件檢測起始信息0SM86見p124

應用實例1.控制要求本程序實現(xiàn)的功能是,一臺CPU224作為本地PLC,用另一臺CPU224作為遠程PLC,本地PLC接收來自遠程PLC的20個字符,接收完成后,信息又發(fā)回對方。要求有一外部脈沖控制接收任務的開始,并且任務完成后用顯示燈顯示。2.參數(shù)設置自由口通信模式。通信協(xié)議為:波特率9600,無奇偶校驗,每字符8位。接收和發(fā)送用同一緩沖區(qū),首地址為VB100。不設立超時時間。3.程序主程序如右圖5.19所示。實現(xiàn)的功能是初始化通信口及緩沖區(qū),建立中斷聯(lián)系,并開放全局中斷。中斷程序INT_0,啟動發(fā)送指令。如圖5.20所示。圖5.19自由口通信例(主程序)圖5.20自由口通信例(中斷0程序)中斷程序INT_1,發(fā)結束時輸出。如圖8.21所示。圖5.21自由口通信例(中斷程序1)返回本節(jié)5.2.4高速計數(shù)

高速計數(shù)器HSC---High-speedcounter1.高速計數(shù)器介紹2.高速計數(shù)指令

3.高速計數(shù)器的使用方法

4.應用實例

1.高速計數(shù)器介紹普通計數(shù)器是按照順序掃描的方式進行工作,每個掃描周期中,對計數(shù)脈沖值進行一次累加,當輸入脈沖的頻率比PLC掃描頻率高時,則不能準確計數(shù)??捎酶咚儆嫈?shù)器。高速計數(shù)器最大計數(shù)頻率可達20kHz,主要用于電機轉速的檢測,距離檢測等。(1)數(shù)量及編號高速計數(shù)器在程序中使用時的地址編號用HCn來表示(在非程序中有時用HSCn),HC表示編程元件名稱為高速計數(shù)器,n為編號。HCn除了表示高速計數(shù)器的編號之外,還代表兩方面的含義:高速計數(shù)器位和高速計數(shù)器當前值(字)。編程時,從所用的指令可以看出是位還是當前值(字)。不同型號的PLC主機,高速計數(shù)器的數(shù)量對應如表5.7所示。(2)中斷事件類型高速計數(shù)器的計數(shù)和動作可采用中斷方式進行控制。各種型號的PLC可用的高速計數(shù)器的中斷事件大致分為3類:當前值等于預設值中斷輸入方向改變中斷外部復位中斷。所有高速計數(shù)器都支持當前值等于預設值中斷。每個高速計數(shù)器的3種中斷的優(yōu)先級由高到低,不同高速計數(shù)器之間的優(yōu)先級又按編號順序由高到低。具體對應關系如表5.8所示。高速計數(shù)器的中斷的優(yōu)先級(3)工作模式高速計數(shù)器的工作模式共有12種。6個計數(shù)器功能不完全一樣??赏ㄟ^編程,使用定義高速計數(shù)器指令HDEF來選定工作模式??煞譃樗念悾?----以HSC0為例帶內部方向控制的單相計數(shù)器(一個輸入I0.0端或加,或減)-----設置SM37.3(0減計數(shù),1加計數(shù))帶外部方向控制的單相計數(shù)器(兩個輸入,一個I0.0計數(shù)輸入,一個方向控制I0.1—0減;1加)帶增減計數(shù)器的雙向計數(shù)器(兩個計數(shù)輸入端,一增I0.0一減I0.1)正交計數(shù)器兩個時鐘輸入端A相I0.0,B相I0.1相差900(A相超前B相90順時針轉動---增計數(shù),A相滯后B相90逆時針轉動---減計數(shù))(4)輸入端連接選用某個高速計數(shù)器在某種工作模式下工作,高速計數(shù)器的輸入端不是任意選擇,必須按系統(tǒng)指定的專用輸入點。如表5.9所示。上述輸入點在不使用高速計數(shù)器時,可作為一般的數(shù)字量輸入點2.高速計數(shù)指令

高速計數(shù)器指令有兩條:HDEF和HSC。(1)HDEF指令HDEF,定義高速計數(shù)器指令。使能輸入有效時,為指定的高速計數(shù)器選定一種工作模式。梯形圖指令盒中有兩個數(shù)據(jù)輸入端:HSC,高速計數(shù)器編號,為0~5的常數(shù),字節(jié)型;MODE,工作模式,為0~11的常數(shù),字節(jié)型。每個高速計數(shù)器在使用前,都要用HDEF定義工作模式,并且只能定義一次04(2)HSC指令HSC,高速計數(shù)器指令。使能輸入有效時,根據(jù)高速計數(shù)器特殊存儲器位的狀態(tài),并按照HDEF指令指定的工作模式,使高速計數(shù)器設置生效并執(zhí)行計數(shù)操作。梯形圖指令盒數(shù)據(jù)輸入端N:高速計數(shù)器編號,為0~5的常數(shù),字型。4每個高速計數(shù)器都有固定的特殊功能存儲器與之相配合,完成高速計數(shù)功能。具體對應關系如表5.11所示。3.高速計數(shù)器的使用方法

反映工作狀態(tài)見書表3-7啟動或關閉計數(shù)器,控制方向等見書表3-8狀態(tài)字節(jié)每個高速計數(shù)器都有一個狀態(tài)字節(jié),程序運行時根據(jù)運行狀況自動使某些位置位,可以通過程序來讀相關位的狀態(tài),用以作為判斷條件實現(xiàn)相應的操作。狀態(tài)字節(jié)中各狀態(tài)位的功能如表5.12所示??刂谱止?jié)表5.13控制位含義1選擇計數(shù)器及工作模式2設置控制字節(jié)3執(zhí)行HDEF指令

4設定當前值和預設值

5設置中斷事件并全局開中斷6執(zhí)行HSC指令

高速計數(shù)器編程步驟:如:對一高速脈沖信號進行增減計數(shù),計數(shù)當前值達到120產生中斷,計數(shù)方向由外部信號控制(主機CPU224)(1)選HSC0模式3,I0.0計數(shù)I0.1方向控制(書P135)(2)SMB37---F8(3)執(zhí)行HDEF指令(4)0—SMD38,120---SMD42(5)12---INT0(6)執(zhí)行HSC指令4.應用實例1

要對一高速事件精確控制,通過對脈沖信號進行增計數(shù),計數(shù)當前值達到24產生中斷,重新從0計數(shù),對中斷次數(shù)進行累計。計數(shù)方向用一個外部信號控制,并能實現(xiàn)外部復位。所用的主機型號為CPU221。設計步驟:①選擇高速計數(shù)器HSC0,并確定工作方式4。②令SM37=16#F8③執(zhí)行HDEF指令,輸入端HSC為0,MODE為4。④裝入當前值,令SMD38=0。⑤裝入設定值,令SMD42=24。⑥執(zhí)行中斷連接ATCH指令,輸入端INT為INT0,EVNT為12。

主程序、初始化子程序和中斷程序分別如圖5.12、圖5.13和圖5.14所示。圖5.12主程序圖5.13初始化子程序12圖5.14中斷程序返回本節(jié)六層電梯平層信號產生。用高速計數(shù)器測距離,了解轎廂當前位置和平層信號產生。見附加程序。應用實例25.2.5高速脈沖輸出

在需要對負載進行高精度控制時,如對步進電機的控制,需要對步進電機提供一系列的脈沖,高速脈沖輸出指令就是為滿足這種需求而開發(fā)的。1.高速脈沖輸出介紹(1)輸出端子的確定(2)高速脈沖輸出的形式(3)相關寄存器

(4)脈沖輸出指令

(1)輸出端子的確定S7-200只有輸出繼電器Q0.0和Q0.1具有高速脈沖輸出功能。不用高速脈沖時,作普通的數(shù)字量輸出點用。(2)高速脈沖輸出的形式高速脈沖輸出有兩種的形式:高速脈沖序列(或稱高速脈沖串)輸出PTO脈沖寬度調制輸出PWM可通過特殊繼電器來定義輸出的形式。每個高速脈沖發(fā)生器對應一定數(shù)量特殊標志寄存器,這些寄存器包括控制字節(jié)寄存器、狀態(tài)字節(jié)寄存器和參數(shù)數(shù)值寄存器,用以控制高速脈沖的輸出形式、反映輸出狀態(tài)和參數(shù)值。各寄存器分配如表5.14所示。(3)相關的寄存器每個高速脈沖輸出都有一個狀態(tài)字節(jié)(SMB66或SMB76),程序運行時根據(jù)運行狀況自動使某些位置位,可以通過程序來讀相關位的狀態(tài),用以作為判斷條件實現(xiàn)相應的操作。狀態(tài)字節(jié)中各狀態(tài)位的功能如表5.15所示。狀態(tài)字節(jié)每個高速脈沖輸出都對應一個控制字節(jié),通過對控制字節(jié)中指定位的編程,可以根據(jù)操作要求設置字節(jié)中各控制位,如脈沖輸出允許、PTO/PWM模式選擇、單段/多段選擇、更新方式、時間基準、允許更新等。控制字節(jié)中各控制位的功能如表5.16所示??刂谱止?jié)脈沖輸出指令PLS指令功能:EN有效,檢測各相關寄存器的狀態(tài),激活由控制字節(jié)定義的高速脈沖輸出操作。Q取0或1對應Q0.0和Q0.1PLSENENOQ02.高速脈沖串輸出PTO(1)周期和脈沖數(shù)(2)PTO的種類(3)中斷事件類型(4)PTO的使用(1)周期和脈沖數(shù)周期:單位可以是微秒μs或毫秒ms;為16位無符號數(shù)據(jù),周期變化范圍是50~65535μs或2~65535ms,通常應設定周期值為偶數(shù),若設置為奇數(shù),則會引起輸出波形占空比的輕微失真。如果編程時設定周期單位小于2,系統(tǒng)默認按2進行設置。脈沖數(shù):用雙字長無符號數(shù)表示,脈沖數(shù)取值范圍是1~4294967295之間。如果編程時指定脈沖數(shù)為0,則系統(tǒng)默認脈沖數(shù)為1個。SM67.3(2)PTO的種類PTO方式中,如果要輸出多個脈沖串,允許脈沖串進行排隊,形成管線,當前輸出的脈沖串完成之后,立即輸出新脈沖串,這保證了脈沖串順序輸出的連續(xù)性。根據(jù)管線的實現(xiàn)方式分:單段管線---管線中只能存放一個脈沖串的控制參數(shù)(入口地址)。在當前脈沖串輸出期間,要對下一個脈沖串的相關寄存器進行更新。當前脈沖串輸出完成,即可開始輸出新脈沖串。多段管線---輸出多個脈沖串。需要在變量存儲區(qū)建包絡表,在包絡表中存儲各脈沖串的參數(shù),當執(zhí)行PLS指令時,CPU自動按順序從包絡表中調出各個脈沖串的入口地址,連續(xù)輸出各個脈沖串。多管線PTO包絡表由包絡段數(shù)和各段構成。每段長度為8個字節(jié),包括:脈沖周期值(16位)、周期增量值(16位)和脈沖計數(shù)值(32位)。以包絡3段的包絡表為例,包絡表的結構如表5.17所示。(3)中斷事件類型高速脈沖串輸出可以采用中斷方式進行控制,各種型號的PLC可用的高速脈沖串輸出的中斷事件有兩個,如表5.18所示。(4)PTO的使用----編程要點使用高速脈沖串輸出時,要按以下步驟進行:確定脈沖串的輸出端及管線的實現(xiàn)方式(單段多段)

設置控制字節(jié)---將控制字寫入SMB67或SMB77寫入周期值、周期增量值和脈沖數(shù)周期增量值=(Tn+1-Tn)/N

其中:Tn-------該段開始的周期時間

Tn+1------該段結束的周期時間

N------該段脈沖數(shù)裝入包絡的首地址設置中斷事件并全局開中斷執(zhí)行PLS指令3.應用實例(1)控制要求步進電機轉動過程中,要從A點加速到B點后恒速運行,又從C點開始減速到D點,完成這一過程時用指示燈顯示。電機的轉動受脈沖控制,A點和D點的脈沖頻率為2kHz,B點和C點的頻率為10kHz,加速過程的脈沖數(shù)為400個,恒速轉動的脈沖數(shù)為4000個,減速過程脈沖數(shù)為200個。工作過程如圖5.15所示。圖5.15步進電機工作過程400個脈沖4000個脈沖200個脈沖(2)分析確定脈沖發(fā)生器及工作模式

設置控制字節(jié)

寫入周期值、周期增量值和脈沖數(shù)

裝入包絡表首地址

中斷調用

執(zhí)行PLS指令

1用Q0.0,多管線方式—3段(AB段、BC段、CD段)2確定周期值的時基單位,BC段頻率最大10KHZ,對應的周期值為100us,時基單位為us,所以SMB67---16#A03確定初始周期,周期增量初始周期:求每段的頻率的倒數(shù)可得AB段500us,BC段100us,CD段100us周期增量=(Tn+1-Tn)/N,AB段-1,BC段0,CD段24設包絡表首地址VB400建立包絡表?!獭贪j表(3)程序實現(xiàn)本控制系統(tǒng)主程序如下圖5.16所示。初始化子程序SBR_1如圖5.17所示。包絡表子程序如圖5.18所示。中斷程序如圖5.19所示。圖5.16主程序圖5.17初始化子程序SBR_1圖5.18包絡表子程序SBR_0(1)

MOVW

+100,VW409

//

//第2段周期初

//值為100ms

//

//

MOVW

0,VW411

//

//第2段周期

//增量為0

MOVD

+4000,VD413

//

//第2段脈沖數(shù)

//為4000個

LDSM0.0//運行脈沖MOVB3,VB400////定義開始字節(jié)//為VB400//裝入段數(shù)3MOVW+500,VW401////第1段周期初//值為500ms////MOVW-1,VW403////第1段周期//增量為-1MOVD+400,VD405////第1段脈沖數(shù)//為400個圖5.18包絡表子程序SBR_0(2)圖5.19中斷程序4.寬度可調脈沖輸出PWM從Q0.0或Q0.1輸出周期固定,脈沖寬度變化的脈沖信號(1)周期和脈沖寬度周期同PTO。脈沖寬度為16為無符號數(shù),脈沖寬度增量單位為us或ms。范圍0~65535,占空比為0~100%。當脈沖寬度大于或等于周期時輸出將連續(xù)接通。為0時,輸出一直被關斷。(2)更新方式

根據(jù)在改變脈沖寬度時是否需要改變時間基準,可分為同步更新和異步更新。返回本節(jié)同步更新:脈寬的改變和PWM脈沖的新周期同步發(fā)生。適用于不需要改變時間基準的情況,常用中斷實現(xiàn)。異步更新:需要改變時間基準時使用。異步更新可能會導致PWM功能暫時失效,造成被控裝置的振動。(3)PWM的使用---編程要點確定高速PWM的輸出端(Q0.0或Q0.1)初始化設置設置控制字節(jié)---將控制字寫入SMB67或SMB77寫入周期值SMW68(78)、寫入脈沖寬度值SMW70(80)執(zhí)行PLS指令應用舉例---(書例3-46)將Q0.1設置為PWM輸出形式,脈沖周期固定為10s,初始脈沖寬度1000ms,當M0.0上升沿有效脈沖寬度改為5000ms。//控制字節(jié)設置,允許PWM,選擇PWM單段操作,同步更新,時基1ms脈沖數(shù)不更新,脈沖寬度更新,周期更新//設置周期10s,設置脈沖寬度1000執(zhí)行PLS,Q0.1輸出PWM重裝控制字節(jié),設為禁止更新周期后可更新脈沖寬度//新脈沖寬度設為5000ms//執(zhí)行PLS5.2.6

PID回路指令

在過程控制中經常涉及到模擬量的控制,構成閉環(huán)控制系統(tǒng)。而對模擬量的處理,除對模擬量的采樣檢測外,還要對采樣值進行PID運算。根據(jù)運算結果形成對模擬量的控制作用。1.PID算法

2.PID指令

3.應用實例

1.PID算法

1.PID算法如果一個PID回路的輸出M(t)是時間的函數(shù),則可以看作是比例項、積分項和微分項三部分之和。即:其中:Kc為回路增益,M0為回路輸出的初始值變成數(shù)字離散形式Mn----第n個采樣時刻計算出來的回路控制輸出值en----第n個采樣時刻回路偏差en

-1----第n-1個采樣時刻回路偏差KC----回路增益KI----積分項的比例系數(shù)KD----微分項的比例系數(shù)M0----初始值上式可表示為Mn----第n個采樣時刻PID計算值MPn

----第n個采樣時刻比例項值MIn

----第n個采樣時刻積分項值MDn

----第n個采樣時刻微分項值TS為采樣周期TI為積分時間常數(shù)TD為微分時間常數(shù)SPn第n個采樣時刻的給定值VPn第n個采樣時刻過程變量值MX第n-1個采樣時刻積分項的值采樣后的過程變量與給定值的偏差,經上式PID運算出控制量。上式共包含9個參數(shù),在執(zhí)行PID指令前要建立一個PID參數(shù)表----初始化處理。PID參數(shù)表格式地址偏移量PID參數(shù)數(shù)據(jù)格式I/O類型描述0PVn雙字、實數(shù)I過程變量的當前值,0.0~1.04SPnI給定值,0.0~1.08MnI/O輸出值,0.0~1.012KCI回路增益,正負長值16TSI采樣周期,單位s,正

溫馨提示

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

評論

0/150

提交評論