




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第5章應用指令5.1程序控制類指令5.2特殊指令5.1程序控制類指令
5.1.1結束及暫停指令5.1.2看門狗指令5.1.3跳轉指令5.1.4子程序指令
5.1.5程序循環指令5.1.6順序控制繼電器指令5.1.7與ENO指令
返回本章首頁5.1.1結束及暫停
1.結束指令結束指令有兩條:END和MEND。兩條指令在梯形圖中以線圈形式編程。END,條件結束指令。使能輸入有效時,終止用戶主程序。MEND無條件結束指令。無條件終止用戶程序的執行,返回主程序的第一條指令。用Micro/Win32編程時,編程人員不需手工輸入MEND指令,而是由軟件自動加在主程序結尾。指令格式:END (無操作數)2.暫停指令STOP,暫停指令。使能輸入有效時,該指令使主機CPU的工作方式由RUN切換到STOP方式,從而立即終止用戶程序的執行。STOP指令在梯形圖中以線圈形式編程。指令不含操作數。指令的執行不考慮對特殊標志寄存器位和能流的影響。指令格式:STOP(無操作數)返回本節5.1.2看門狗
WDR,看門狗復位指令。當使能輸入有效時,執行WDR指令,每執行一次,看門狗定時器就被復位一次。S7的看門狗WDR的設定值為300ms,有時在循環或調用子程序,響應中斷服務程序時,掃描時間超過300ms,WDR會認為出錯??捎帽局噶羁捎靡匝娱L掃描周期,從而可以有效避免看門狗超時錯誤。指令格式:WDR (無操作數)程序實例:指令STOP、END、WDR的應用如圖5.2所示。圖5.1停止、結束、看門狗指令返回本節5.1.3跳轉
1.跳轉指令與跳轉相關的指令有下面兩條:(1)跳轉指令JMP,跳轉指令。使能輸入有效時,使程序流程跳到同一程序中的指定標號n處執行。執行跳轉指令時,邏輯堆棧的棧頂值總是1。(2)標號指令LBL,標號指令。標記程序段,作為跳轉指令執行時跳轉到的目的位置。操作數n為0~255的字型數據。程序實例:某生產線對產品進行加工處理,同時用增減計數器對成品進行計數,如果檢測到100個成品就要跳過某些控制程序直接進入小包裝控制程序;若檢測到900個成品,則程序跳轉到大包裝控制程序。程序如下:圖5.2程序跳轉實例5.1.4子程序指令
編寫子程序的步驟1.建立子程序2.編寫子程序3.在主程序、其他子程序、或中斷程序中調用子程序(帶參數的子程序)1.建立子程序
可用編程軟件Edit菜單中的Insert選項,選擇Subroutine,以建立或插入一個新的子程序,同時在指令樹窗口可以看到新建的子程序圖標,默認的程序名是SBR_n,編號n從0開始按遞增順序生成,可以在圖標上直接更改子程序的程序名。在指令樹窗口雙擊子程序的圖標就可對它進行編輯。2.子程序調用
(1)子程序調用和返回指令子程序調用
子程序條件返回(2)注意事項可有64個子程序,可以嵌套子程序,最大嵌套深度為8子程序內不能用END指令不允許直接遞歸(自己調用自己),可間接遞歸(3)應用實例
SBR1EN(RET)圖5.3所示的程序實現用外部控制條件分別調用兩個子程序。圖5.3子程序調用舉例(1)子程序參數---最多可帶16個參數,每個參數包含:
變量名
變量類型(IN類型、IN/OUT、OUT)數據類型(位、字節、字、雙字、實型)(2)參數子程序調用的規則參數與局部變量標的定義相匹配參數順序是:輸入,輸入/輸出,輸出(3)程序實例
3.帶參數的子程序調用
圖5.5帶參數的子程序調用返回本節以上面指令為例,局部變量表分配如表5.1所示,程序段如圖5.5所示。表5.1局部變量表例5.1.5程序循環
1.循環開始FOR每執行一次循環計數值加1,當計數值大于終值,則循環終止。2.循環結束NEXT3.
程序實例
FORENENOINDXINITFINAL(NEXT)計數值初值終值圖5.6程序循環(1)返回本節圖5.6程序循環(2)5.1.7順序控制繼電器
順序控制繼電器S是專門用于編寫順序控制程序(常稱為步進控制)的。所謂順序控制,使生產過程按生產工藝的要求預先安排的順序自動地進行生產的控制方式。一個步進控制程序是由若干個SCR段組成,每個SCR段對應步進控制中的一個功能控制步。1.順序繼電器指令(1)段開始指令功能:標記一個SCR段的開始,操作數是順序繼電器Sx.y(如S0.0)。當順序繼電器Sx.y=1啟動SCRx.y的順序程序。即允許該SCR段工作。(2)段轉移功能:是當Sx.y=1,將當前的SCR段停止,切換到下一個SCR。其操作數為下一個SCR的標志位(如S0.1)(3)段結束功能:標記一個段的結束。SCRSx.yLSCRSnSn(SCRT)SCRTSnSn(SCRE)SCRE本例是用順序繼電器實現的順序控制中的一個步的程序段,這一步實現的功能是使兩個電機M1和M2起動運行20秒后停止,切換到下一步。程序如圖5.7所示。返回本節2.程序實例3.結構形式(1)順序結構
(2)分支結構
選擇性分支
并發性分支
(3)循環結構
(4)復合結構
各順序控制段的轉換不帶分支和匯合的順控過程。將復雜的控制分解若干個獨立控制功能步,用方框表示,根據動作順序用箭頭將各方框連接起來,在相鄰的兩步之間用段橫線表示轉換條件。在每步的右邊畫上要執行的控制程序。S0.1()Q0.0S0.2()Q0.1S0.3()Q0.2I0.0I0.1I0.2(1)順序結構(1)順序結構(2)分支結構圖5.9選擇性分支1)選擇分支執行完1步,當A或D或G或I為1,1步復位,2或4或6或7開始執行;8步執行,由C或F或H或J為1決定,執行時順序繼電器置1,3、5、6、7順序繼電器復位2)并發性分支當A為1,1步復位,2467同時置位開始工作。為提高工作效率,各支路的工作時間盡量接近一致。圖5.10并發性分支用水平雙線表示并行分支開始和結束。(3)循環結構循環結構用于一個順序過程的多次或往復執行。功能圖畫法如圖5.11所示,這種結構可看作是選擇性分支結構的一種特殊情況。
圖5.11循環結構(4)復合結構圖5.12功能流程圖舉例返回本節幾種結構組合5.1.8與ENO指令
AENO,與ENO指令。ENO是梯形圖和功能框圖編程時指令盒的布爾能流輸出端。如果指令盒的能流輸入有效,同時執行沒有錯誤,ENO就置位,將能流向下傳遞。當用梯形圖編程時,且指令盒后串聯一個指令盒或線圈,語句表語言中用AENO指令描述。
指令格式:AENO(無操作數)圖5.13與ENO指令AENO指令只能在語句表中使用,將棧頂值和ENO位的邏輯與運算,運算結果保存到棧頂。程序如圖5.13所示。返回本節5.2特殊指令
5.2.1時鐘指令
5.2.2中斷
5.2.3通信
5.2.4高速計數
5.2.5高速脈沖輸出
5.2.6
PID回路指令
返回本章首頁5.2.1時鐘指令
1.讀實時時鐘TODR,讀實時時鐘指令。當使能輸入有效時,系統讀當前時間和日期,并把它裝入一個8字節的緩沖區。
2.寫實時時鐘TODW,寫實時時鐘指令。用來設定實時時鐘。當使能輸入有效時,系統將包含當前時間和日期,一個8字節的緩沖區將裝入時鐘。
VB300首地址READ_RTCENENOTTODRTSET_RTCENENOTTODWTVB300表5.2時鐘緩沖區格式程序實例控制要求:編寫一段程序,可實現讀、寫實時時鐘,并以BCD碼顯示分鐘。時鐘緩沖區從VB100開始。程序中的子程序SBR_0為寫時鐘子程序,將當前時間寫入從VB100開始的8字節時間緩沖區,時間設置如下表5.3所示。程序實現:讀寫時鐘程序如圖5.9所示。LDI0.4 //裝入觸點EU//上跳沿觸發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)中斷源及種類中斷源,即中斷事件發出中斷請求的來源。S7-200可編程序控制器具有34個中斷源,每個中斷源都分配一個編號用以識別,稱為中斷事件號。這些中斷源大致分為三大類:通信中斷、輸入輸出中斷和時基中斷。(2)中斷優先級
中斷優先級由高到低依次是:通信中斷、輸入輸出中斷、時基中斷。每種中斷中的不同中斷事件又有不同的優先權。主機中的所有中斷事件及優先級如表5.4所示。表5.4中斷事件及優先級2.中斷操作指令包括:(1)開中斷指令ENI---全局開放所有被連接的中斷事件(2)關中斷指令DISI---全局關斷所有被連接的中斷事件(3)中斷連接指令ATCH功能:建立一個中斷事件EVNT與一個標號為INTn中斷服務程序聯系,并對該中斷事件開放。(ENI)(DISI)
ATCHENENOINTEVNT(4)中斷分離指令DTCH功能:取消某個中斷事件EVNT與所有中斷程序的關聯,并對該事件關中斷。(5)中斷返回指令RETI和CRET注意事項中斷服務程序中,不能使用開中斷指令ENI、關中斷指令DISI、定義高速計數器指令HDEF、步進開始指令LSCR、條件結束指令END。程序實例有條件返回無條件返回(3)程序實例控制要求:程序實現的功能是用I0.4調用I0.1輸入點的上升沿中斷,若發現I/O錯誤,則禁止本中斷,用外部條件I0.5可以禁止全局中斷。程序實現:本程序如圖5.10所示。圖5.10中斷調用程序3.中斷程序(1)構成中斷程序必須由三部分構成:中斷程序標號、中斷程序指令和無條件返回指令。(2)編制方法建立中斷程序INTn在INTn中編寫其服務程序編寫中斷連接指令允許中斷返回本節定時中斷0,設定100ms,在中斷服務程序中進行數據采集和變換溫度模擬量數據采集實例0~200度范圍測量的實際溫度=(AIW-6552)/[(32760-6552)/200]2復習思考題一個溫度檢測系統,用Pt100熱電阻,測溫范圍為0~200度(電流輸出),如測得環境溫度為35度,問A/D轉換后的數字量?0~200度對應4~20mA12為數字量12為數字量111111111111000001100110011000測量的實際溫度=(AIW-6552)/[(32760-6552)/200]5.2.3通信
通信指令包括:XMT,自由口發送指令RCV,自由口接收指令NETR,網絡讀指令NETW,網絡寫指令GPA,獲取口地址指令一、S7-200的網絡通信字符數據格式(1)10位字符數據傳送數據由1個起始位、8個數據位、無校驗位、一個停止位組成。傳送速率一般為9600波特。(2)11位字符數據傳送數據由1個起始位、8個數據位、1個偶校驗位、一個停止位組成。傳送速率一般為9600波特或19200波特。S7-200被默認為是從站。在采用PPI通信協議時,若設置為PPI主站模式,PLC主機可以在RUN工作方式下為主站,可以用通信指令讀取其他PLC主機的數據。通信協議控制寄存器SMB30控制和設置通信端口0,如果PLC主機上有通信端口1,則用SMB130來進行控制和設置。SMB30和SMB130的各位及其的含義如下:將特殊標志寄存器中的SMB30和SMB130的低2位置為2#10,其他位為0,即SMB30和SMB130的值為16#2,則可以控制將S7-200CPU設置為PPI主站模式。(1)PP位:奇偶選擇(2)D位:有效位數(3)BBB位:自由口波特率(4)MM位:協議選擇MM:00=PPI從站模式01=自由口協議
10=PPI主站模式11=保留網絡通信指令在S7-200的PPI主站模式下,網絡通信指令有兩條:1網絡讀指令(NETR)功能:EN有效通過端口PORT從遠程設備接收數據,并形成數據表。NETR指令最多可以從遠程設備上接受16字節的信息。2網絡寫指令(NETW)功能:EN有效通過端口PORT將數據表TBL中的數據發送到遠程設備。最多可以向遠程設備發送16字節的信息。NETRENENOTBLPORTNETWENENOTBLPORT傳送數據表(1)數據表格式執行網絡讀寫指令時,PPI主站與從站之間的數據以數據表的格式傳送。傳送數據表的格式描述如表5.5示。表5.5傳送數據表格式(2)狀態字節傳送數據表中的第一個字節為狀態字節,各位及其的含義如下:D—完成狀態。D=0未完成,D=1完成A—有效狀態。A=0無效,A=1有效操作已被排隊E—錯誤狀態。E=0無錯誤,E=1有錯誤0—無效位E1、E2、E3、E4錯誤編碼。如果執行指令后E位為1,則由這4位返回一個錯誤碼。這4位組成的錯誤編碼及含義如表5.6所示。錯誤編碼表應用實例有一簡單網絡,結構如下圖8.17所示。其中TD200為主站,在RUN模式下,CPU224在用戶程序中允許PPI主站模式,可以利用NETR和NETW指令來不斷讀寫兩個CPU221模塊中的數據。操作要求:站4要讀寫兩個遠程站(站2和站3)的狀態字節和計數值(分別放在VB100和VW101中)。如果某個遠程站中的計數值達到200,站4將發生一定動作,并將該遠程站的計數值清0,重新計數。分析:網絡通信---要將站4設置為PPI主站模式主站建立接收與發送數據表,用以讀寫從站CPU224通信端口號為0,從VB200開始設置接收和發送緩沖區。接收緩沖區從VB200開始,發送緩沖區從VB250開始,內容如表5.6所示。該網絡通信用戶程序如圖5.18所示。表5.6緩沖區設置圖5.18網絡程序實例(1)圖8.18網絡程序實例(2)返回本節二、自由口通信1相關寄存器及標志2自由口指令3應用實例自由口通信是用戶可自定義通信協議,通過建立通信中斷事件,使用通信指令控制PLC串口與其他設備進行通信。返回本章首頁1相關寄存器及標志1).控制寄存器2).特殊標志位及中斷3).特殊存儲器字節1)控制寄存器SMB30或SMB130用以設置自由口通信協議SMB30控制和設置通信端口0,如果PLC主機上有通信端口1,則用SMB130來進行控制和設置。SMB30和SMB130的各位及其的含義如下:(1)PP位:奇偶選擇00—無奇偶,01---偶校驗,10--無奇偶,11--奇校驗(2)D位:有效位數0---8位/字符,1---7位/字符(3)BBB位:自由口波特率選擇000=38400bit/s,001=19200bit/s,010=9600bit/s…….(4)MM位:協議選擇11---保留00—PPI從站模式,01—自由口協議,10—PPI主站模式2.特殊標志位及中斷中斷接收中斷:中斷事件號為8(口0)和25(口1)。發送完成中斷:中斷事件號為9(口0)和26(口1)。接收完成中斷:中斷事件號為23(口0)和24(口1)。特殊標志位SM4.5和SM4.6:分別用來表示口0和口1發送空閑狀態3.特殊存儲器字節接收信息時用到一系列特殊功能存儲器。對端口0用SMB86到SMB94;對端口1用SMB186到SMB194。各字節及內容描述如下表5.7所示。返回本節2自由口指令1.XMT指令XMT,發送指令。使能輸入有效時,指令初始化通信操作,通過通信端口PORT將數據表TBL中的數據發送到遠程設備。發送緩沖區(數據表)TBL的格式如表5.8所示。XMT2.RCV指令RCV,接收指令。使能輸入有效時,指令初始化通信操作,通過通信端口PORT從遠程設備上接收數據并放到緩沖區(數據表)TBL。接收緩沖區TBL的格式如表5.8所示。返回本節應用實例---例3-41以自由口通信方式向個人計算機不斷地發送“S7-200”六個ASCII碼。編程思路:建立通信協議-----設置SM30或SM130建立發送數據表編寫發送指令(一秒鐘發送一次)程序如下//初始化自由口選9600bit/s,8為數據,無奇偶校驗//建發送數據表---將s7字符送表地址VW100//將-2字符送表地址VW102//將00字符送表地址VW104//數據表長度送VB99//發送指令例3-42個人計算機和PLC之間接受和發送信息。編程思路:用接收完成中斷,發送完成中斷實現接受和發送。主程序建立通信協議建立數據表建立接收完成中斷事件連接建立發送完成中斷事件連接開中斷設有三個中斷程序:接收完成中斷,定時中斷,發送完成中斷接收完成中斷引發定時中斷通信協議設置SMB30
00001001接收信息控制字節SMB87EN接收允許1SC是否用SM88檢測起始信息0EC是否用SM89檢測結束信息1IL是否用SM90檢測空閑狀態1C/M定時器定時性質0TMR是否用SM92的值終止接收0BK是否用中斷條件檢測起始信息0SM86見p124
應用實例1.控制要求本程序實現的功能是,一臺CPU224作為本地PLC,用另一臺CPU224作為遠程PLC,本地PLC接收來自遠程PLC的20個字符,接收完成后,信息又發回對方。要求有一外部脈沖控制接收任務的開始,并且任務完成后用顯示燈顯示。2.參數設置自由口通信模式。通信協議為:波特率9600,無奇偶校驗,每字符8位。接收和發送用同一緩沖區,首地址為VB100。不設立超時時間。3.程序主程序如右圖5.19所示。實現的功能是初始化通信口及緩沖區,建立中斷聯系,并開放全局中斷。中斷程序INT_0,啟動發送指令。如圖5.20所示。圖5.19自由口通信例(主程序)圖5.20自由口通信例(中斷0程序)中斷程序INT_1,發結束時輸出。如圖8.21所示。圖5.21自由口通信例(中斷程序1)返回本節5.2.4高速計數
高速計數器HSC---High-speedcounter1.高速計數器介紹2.高速計數指令
3.高速計數器的使用方法
4.應用實例
1.高速計數器介紹普通計數器是按照順序掃描的方式進行工作,每個掃描周期中,對計數脈沖值進行一次累加,當輸入脈沖的頻率比PLC掃描頻率高時,則不能準確計數??捎酶咚儆嫈灯鳌8咚儆嫈灯髯畲笥嫈殿l率可達20kHz,主要用于電機轉速的檢測,距離檢測等。(1)數量及編號高速計數器在程序中使用時的地址編號用HCn來表示(在非程序中有時用HSCn),HC表示編程元件名稱為高速計數器,n為編號。HCn除了表示高速計數器的編號之外,還代表兩方面的含義:高速計數器位和高速計數器當前值(字)。編程時,從所用的指令可以看出是位還是當前值(字)。不同型號的PLC主機,高速計數器的數量對應如表5.7所示。(2)中斷事件類型高速計數器的計數和動作可采用中斷方式進行控制。各種型號的PLC可用的高速計數器的中斷事件大致分為3類:當前值等于預設值中斷輸入方向改變中斷外部復位中斷。所有高速計數器都支持當前值等于預設值中斷。每個高速計數器的3種中斷的優先級由高到低,不同高速計數器之間的優先級又按編號順序由高到低。具體對應關系如表5.8所示。高速計數器的中斷的優先級(3)工作模式高速計數器的工作模式共有12種。6個計數器功能不完全一樣??赏ㄟ^編程,使用定義高速計數器指令HDEF來選定工作模式??煞譃樗念悾?----以HSC0為例帶內部方向控制的單相計數器(一個輸入I0.0端或加,或減)-----設置SM37.3(0減計數,1加計數)帶外部方向控制的單相計數器(兩個輸入,一個I0.0計數輸入,一個方向控制I0.1—0減;1加)帶增減計數器的雙向計數器(兩個計數輸入端,一增I0.0一減I0.1)正交計數器兩個時鐘輸入端A相I0.0,B相I0.1相差900(A相超前B相90順時針轉動---增計數,A相滯后B相90逆時針轉動---減計數)(4)輸入端連接選用某個高速計數器在某種工作模式下工作,高速計數器的輸入端不是任意選擇,必須按系統指定的專用輸入點。如表5.9所示。上述輸入點在不使用高速計數器時,可作為一般的數字量輸入點2.高速計數指令
高速計數器指令有兩條:HDEF和HSC。(1)HDEF指令HDEF,定義高速計數器指令。使能輸入有效時,為指定的高速計數器選定一種工作模式。梯形圖指令盒中有兩個數據輸入端:HSC,高速計數器編號,為0~5的常數,字節型;MODE,工作模式,為0~11的常數,字節型。每個高速計數器在使用前,都要用HDEF定義工作模式,并且只能定義一次04(2)HSC指令HSC,高速計數器指令。使能輸入有效時,根據高速計數器特殊存儲器位的狀態,并按照HDEF指令指定的工作模式,使高速計數器設置生效并執行計數操作。梯形圖指令盒數據輸入端N:高速計數器編號,為0~5的常數,字型。4每個高速計數器都有固定的特殊功能存儲器與之相配合,完成高速計數功能。具體對應關系如表5.11所示。3.高速計數器的使用方法
反映工作狀態見書表3-7啟動或關閉計數器,控制方向等見書表3-8狀態字節每個高速計數器都有一個狀態字節,程序運行時根據運行狀況自動使某些位置位,可以通過程序來讀相關位的狀態,用以作為判斷條件實現相應的操作。狀態字節中各狀態位的功能如表5.12所示??刂谱止澅?.13控制位含義1選擇計數器及工作模式2設置控制字節3執行HDEF指令
4設定當前值和預設值
5設置中斷事件并全局開中斷6執行HSC指令
高速計數器編程步驟:如:對一高速脈沖信號進行增減計數,計數當前值達到120產生中斷,計數方向由外部信號控制(主機CPU224)(1)選HSC0模式3,I0.0計數I0.1方向控制(書P135)(2)SMB37---F8(3)執行HDEF指令(4)0—SMD38,120---SMD42(5)12---INT0(6)執行HSC指令4.應用實例1
要對一高速事件精確控制,通過對脈沖信號進行增計數,計數當前值達到24產生中斷,重新從0計數,對中斷次數進行累計。計數方向用一個外部信號控制,并能實現外部復位。所用的主機型號為CPU221。設計步驟:①選擇高速計數器HSC0,并確定工作方式4。②令SM37=16#F8③執行HDEF指令,輸入端HSC為0,MODE為4。④裝入當前值,令SMD38=0。⑤裝入設定值,令SMD42=24。⑥執行中斷連接ATCH指令,輸入端INT為INT0,EVNT為12。
主程序、初始化子程序和中斷程序分別如圖5.12、圖5.13和圖5.14所示。圖5.12主程序圖5.13初始化子程序12圖5.14中斷程序返回本節六層電梯平層信號產生。用高速計數器測距離,了解轎廂當前位置和平層信號產生。見附加程序。應用實例25.2.5高速脈沖輸出
在需要對負載進行高精度控制時,如對步進電機的控制,需要對步進電機提供一系列的脈沖,高速脈沖輸出指令就是為滿足這種需求而開發的。1.高速脈沖輸出介紹(1)輸出端子的確定(2)高速脈沖輸出的形式(3)相關寄存器
(4)脈沖輸出指令
(1)輸出端子的確定S7-200只有輸出繼電器Q0.0和Q0.1具有高速脈沖輸出功能。不用高速脈沖時,作普通的數字量輸出點用。(2)高速脈沖輸出的形式高速脈沖輸出有兩種的形式:高速脈沖序列(或稱高速脈沖串)輸出PTO脈沖寬度調制輸出PWM可通過特殊繼電器來定義輸出的形式。每個高速脈沖發生器對應一定數量特殊標志寄存器,這些寄存器包括控制字節寄存器、狀態字節寄存器和參數數值寄存器,用以控制高速脈沖的輸出形式、反映輸出狀態和參數值。各寄存器分配如表5.14所示。(3)相關的寄存器每個高速脈沖輸出都有一個狀態字節(SMB66或SMB76),程序運行時根據運行狀況自動使某些位置位,可以通過程序來讀相關位的狀態,用以作為判斷條件實現相應的操作。狀態字節中各狀態位的功能如表5.15所示。狀態字節每個高速脈沖輸出都對應一個控制字節,通過對控制字節中指定位的編程,可以根據操作要求設置字節中各控制位,如脈沖輸出允許、PTO/PWM模式選擇、單段/多段選擇、更新方式、時間基準、允許更新等??刂谱止澲懈骺刂莆坏墓δ苋绫?.16所示。控制字節脈沖輸出指令PLS指令功能:EN有效,檢測各相關寄存器的狀態,激活由控制字節定義的高速脈沖輸出操作。Q取0或1對應Q0.0和Q0.1PLSENENOQ02.高速脈沖串輸出PTO(1)周期和脈沖數(2)PTO的種類(3)中斷事件類型(4)PTO的使用(1)周期和脈沖數周期:單位可以是微秒μs或毫秒ms;為16位無符號數據,周期變化范圍是50~65535μs或2~65535ms,通常應設定周期值為偶數,若設置為奇數,則會引起輸出波形占空比的輕微失真。如果編程時設定周期單位小于2,系統默認按2進行設置。脈沖數:用雙字長無符號數表示,脈沖數取值范圍是1~4294967295之間。如果編程時指定脈沖數為0,則系統默認脈沖數為1個。SM67.3(2)PTO的種類PTO方式中,如果要輸出多個脈沖串,允許脈沖串進行排隊,形成管線,當前輸出的脈沖串完成之后,立即輸出新脈沖串,這保證了脈沖串順序輸出的連續性。根據管線的實現方式分:單段管線---管線中只能存放一個脈沖串的控制參數(入口地址)。在當前脈沖串輸出期間,要對下一個脈沖串的相關寄存器進行更新。當前脈沖串輸出完成,即可開始輸出新脈沖串。多段管線---輸出多個脈沖串。需要在變量存儲區建包絡表,在包絡表中存儲各脈沖串的參數,當執行PLS指令時,CPU自動按順序從包絡表中調出各個脈沖串的入口地址,連續輸出各個脈沖串。多管線PTO包絡表由包絡段數和各段構成。每段長度為8個字節,包括:脈沖周期值(16位)、周期增量值(16位)和脈沖計數值(32位)。以包絡3段的包絡表為例,包絡表的結構如表5.17所示。(3)中斷事件類型高速脈沖串輸出可以采用中斷方式進行控制,各種型號的PLC可用的高速脈沖串輸出的中斷事件有兩個,如表5.18所示。(4)PTO的使用----編程要點使用高速脈沖串輸出時,要按以下步驟進行:確定脈沖串的輸出端及管線的實現方式(單段多段)
設置控制字節---將控制字寫入SMB67或SMB77寫入周期值、周期增量值和脈沖數周期增量值=(Tn+1-Tn)/N
其中:Tn-------該段開始的周期時間
Tn+1------該段結束的周期時間
N------該段脈沖數裝入包絡的首地址設置中斷事件并全局開中斷執行PLS指令3.應用實例(1)控制要求步進電機轉動過程中,要從A點加速到B點后恒速運行,又從C點開始減速到D點,完成這一過程時用指示燈顯示。電機的轉動受脈沖控制,A點和D點的脈沖頻率為2kHz,B點和C點的頻率為10kHz,加速過程的脈沖數為400個,恒速轉動的脈沖數為4000個,減速過程脈沖數為200個。工作過程如圖5.15所示。圖5.15步進電機工作過程400個脈沖4000個脈沖200個脈沖(2)分析確定脈沖發生器及工作模式
設置控制字節
寫入周期值、周期增量值和脈沖數
裝入包絡表首地址
中斷調用
執行PLS指令
1用Q0.0,多管線方式—3段(AB段、BC段、CD段)2確定周期值的時基單位,BC段頻率最大10KHZ,對應的周期值為100us,時基單位為us,所以SMB67---16#A03確定初始周期,周期增量初始周期:求每段的頻率的倒數可得AB段500us,BC段100us,CD段100us周期增量=(Tn+1-Tn)/N,AB段-1,BC段0,CD段24設包絡表首地址VB400建立包絡表。√√包絡表(3)程序實現本控制系統主程序如下圖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段脈沖數
//為4000個
LDSM0.0//運行脈沖MOVB3,VB400////定義開始字節//為VB400//裝入段數3MOVW+500,VW401////第1段周期初//值為500ms////MOVW-1,VW403////第1段周期//增量為-1MOVD+400,VD405////第1段脈沖數//為400個圖5.18包絡表子程序SBR_0(2)圖5.19中斷程序4.寬度可調脈沖輸出PWM從Q0.0或Q0.1輸出周期固定,脈沖寬度變化的脈沖信號(1)周期和脈沖寬度周期同PTO。脈沖寬度為16為無符號數,脈沖寬度增量單位為us或ms。范圍0~65535,占空比為0~100%。當脈沖寬度大于或等于周期時輸出將連續接通。為0時,輸出一直被關斷。(2)更新方式
根據在改變脈沖寬度時是否需要改變時間基準,可分為同步更新和異步更新。返回本節同步更新:脈寬的改變和PWM脈沖的新周期同步發生。適用于不需要改變時間基準的情況,常用中斷實現。異步更新:需要改變時間基準時使用。異步更新可能會導致PWM功能暫時失效,造成被控裝置的振動。(3)PWM的使用---編程要點確定高速PWM的輸出端(Q0.0或Q0.1)初始化設置設置控制字節---將控制字寫入SMB67或SMB77寫入周期值SMW68(78)、寫入脈沖寬度值SMW70(80)執行PLS指令應用舉例---(書例3-46)將Q0.1設置為PWM輸出形式,脈沖周期固定為10s,初始脈沖寬度1000ms,當M0.0上升沿有效脈沖寬度改為5000ms。//控制字節設置,允許PWM,選擇PWM單段操作,同步更新,時基1ms脈沖數不更新,脈沖寬度更新,周期更新//設置周期10s,設置脈沖寬度1000執行PLS,Q0.1輸出PWM重裝控制字節,設為禁止更新周期后可更新脈沖寬度//新脈沖寬度設為5000ms//執行PLS5.2.6
PID回路指令
在過程控制中經常涉及到模擬量的控制,構成閉環控制系統。而對模擬量的處理,除對模擬量的采樣檢測外,還要對采樣值進行PID運算。根據運算結果形成對模擬量的控制作用。1.PID算法
2.PID指令
3.應用實例
1.PID算法
1.PID算法如果一個PID回路的輸出M(t)是時間的函數,則可以看作是比例項、積分項和微分項三部分之和。即:其中:Kc為回路增益,M0為回路輸出的初始值變成數字離散形式Mn----第n個采樣時刻計算出來的回路控制輸出值en----第n個采樣時刻回路偏差en
-1----第n-1個采樣時刻回路偏差KC----回路增益KI----積分項的比例系數KD----微分項的比例系數M0----初始值上式可表示為Mn----第n個采樣時刻PID計算值MPn
----第n個采樣時刻比例項值MIn
----第n個采樣時刻積分項值MDn
----第n個采樣時刻微分項值TS為采樣周期TI為積分時間常數TD為微分時間常數SPn第n個采樣時刻的給定值VPn第n個采樣時刻過程變量值MX第n-1個采樣時刻積分項的值采樣后的過程變量與給定值的偏差,經上式PID運算出控制量。上式共包含9個參數,在執行PID指令前要建立一個PID參數表----初始化處理。PID參數表格式地址偏移量PID參數數據格式I/O類型描述0PVn雙字、實數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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘭花股合同范例
- 2025標準租賃合同協議書模板
- 中式風格房屋轉讓合同范例
- 個人建設施工合同范例
- 全款壓尾款合同范例
- 2025知識產權許可合同備案查詢
- 公積金借款及擔保合同范例
- 內窺鏡合同范例
- 兵團勞動合同范例
- 住房按揭貸款合同范例
- 武術基本功五步拳 教案6篇
- 詳解 強基計劃
- 餐飲場所消防安全培訓
- 2023年四川省雅安市長江造林局蜀西分局招聘4人(共500題)筆試必備質量檢測、歷年高頻考點模擬試題含答案解析
- 鄉村衛生室服務一體化管理工作制度
- 醫學英語術語解密-福建醫科大學中國大學mooc課后章節答案期末考試題庫2023年
- 醫用耗材采購簡易流程圖
- 第六章電力系統自動低頻減載裝置
- 新能源設計專業考試題庫匯總(附答案)
- 微生物學(細胞型)知到章節答案智慧樹2023年哈爾濱師范大學
- 辯護詞貪污罪、受賄罪
評論
0/150
提交評論