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

下載本文檔

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

文檔簡介

(優(yōu)選)第七章PLC功能指令現(xiàn)在是1頁\一共有111頁\編輯于星期一7.1.1數(shù)據(jù)傳送

數(shù)據(jù)處理指令包括數(shù)據(jù)傳送指令,交換、填充指令,移位指令等。1.單個數(shù)據(jù)傳送

LADSTLMOVIN,OUT//IN=

OUT

現(xiàn)在是2頁\一共有111頁\編輯于星期一數(shù)據(jù)塊傳送指令數(shù)據(jù)塊傳送指令把從輸入(IN)指定地址的N個連續(xù)字節(jié)、字、雙字的內(nèi)容傳送到從輸出(OUT)指定地址開始的N個連續(xù)字節(jié)、字、雙字的存儲單元中去。

MOVBIN,OUTMOVWIN,OUTMOVDWIN,OUTBLKMOV-DWENINOUTENONBLKMOV-WENINOUTENONBLKMOV-BENINOUTENON現(xiàn)在是3頁\一共有111頁\編輯于星期一傳送字節(jié)立即讀、寫指令傳送字節(jié)立即寫(BIW)指令,將從輸入端(IN)指定字節(jié)地址的內(nèi)容寫入輸出端(OUT)指定字節(jié)地址的物理輸出點(diǎn)(QB)。傳送字節(jié)立即讀(BIR)指令,讀取輸入端(IN)指定字節(jié)地址的物理輸入點(diǎn)(IB)的值,并寫入輸出端(OUT)指定字節(jié)地址的存儲單元中。傳送字節(jié)立即讀傳送字節(jié)立即寫MOV-BIRENINOUTENOBIWIN,OUTMOV-BIWENINOUTENOBIRIN,OUT現(xiàn)在是4頁\一共有111頁\編輯于星期一[例]將變量存儲器VW100中內(nèi)容送到VW200中。

NETWORK1LDI0.0//使能輸入

MOVWVW100,VW200

//VW100=VW200現(xiàn)在是5頁\一共有111頁\編輯于星期一移位指令

移位指令分為:左、右移位和循環(huán)左、右移位及寄存器移位指令三大類。左、右移位和循環(huán)左、右移位指令按移位數(shù)據(jù)的長度又分為字節(jié)型、字型、雙字型三種。左、右移位指令(SHL、SHR)的功能:使能輸入有效時,將輸入的字節(jié)、字或雙字(IN)左、右移N位后(右、左端補(bǔ)0),將結(jié)果輸出到OUT所指定的存儲單元中,最后一次移出位保存在SM1.1。循環(huán)左、右移位指令(ROL、ROR)的功能:使能輸入有效時,字節(jié)、字或雙字(IN)數(shù)據(jù)循環(huán)左移N位后,將結(jié)果輸出到OUT所指定的存儲單元中,并將最后一次移出位送SM1.1。現(xiàn)在是6頁\一共有111頁\編輯于星期一移位指令[例]將VD0右移2位送AC0。

NETWORK1LDI0.0//使能輸入MOVDVD0,AC0//VD0=AC0SRDAC0,2//AC0右移2位寄存器移位指令最大移位位數(shù)N≤數(shù)據(jù)類型(B、W、D)對應(yīng)的位數(shù),移位位數(shù)(次數(shù))N為字節(jié)型數(shù)據(jù)?,F(xiàn)在是7頁\一共有111頁\編輯于星期一

寄存器移位指令

寄存器移位指令是一個移位長度可指定的移位指令。

SHRBI1.1,M1.0,+10

功能:指令執(zhí)行時,DATA位的值移入移位寄存器。

S-BIT為寄存器的最低位,N為移位寄存器的長度(1~64)。每次使能有效時,整個移位寄存器移動1位。

N為正值時,左移位(由低位到高位),DATA值從S-BIT位移入,移出位進(jìn)入SM1.1;

N為負(fù)值時右移位(由高位到低位),S-BIT移出到SM1.1,高端補(bǔ)充DATA移入位的值。

最高位的計算方法:(N的絕對值-1+(S_BIT的位號))/8,余數(shù)即是最高位的位號,商與S_BIT的字節(jié)號之和即是最高位的字節(jié)號。

現(xiàn)在是8頁\一共有111頁\編輯于星期一7.1.2算術(shù)、邏輯運(yùn)算指令

算術(shù)運(yùn)算指令

IN1+I(xiàn)N2=OUT

IN1—IN2=OUT

加減指令盒由指令類型,使能端EN,操作數(shù)(IN1、IN2)輸入端,運(yùn)算結(jié)果輸出OUT,邏輯結(jié)果輸出端ENO等組成。

現(xiàn)在是9頁\一共有111頁\編輯于星期一整數(shù)加法、減法、乘法、除法雙整數(shù)加法、減法、乘法、除法整數(shù)完全乘法、除法實數(shù)加法、減法、乘法、除法現(xiàn)在是10頁\一共有111頁\編輯于星期一7.1.3加法運(yùn)算應(yīng)用舉例

NETWORK1LDI0.0//裝入常開觸點(diǎn)MOVWVW100,

VW200

//VW100→VW200+I+100,

VW200

//VW200+100=VW200

現(xiàn)在是11頁\一共有111頁\編輯于星期一乘/除運(yùn)算

乘法運(yùn)算

除法運(yùn)算

MULI/DIVI為整數(shù)乘/除運(yùn)算,MULDI/DIVDI雙整數(shù)乘/除運(yùn)算,MUL/DIV整數(shù)乘/除的結(jié)果雙整數(shù)輸出,MULR/DVIR實數(shù)乘/除運(yùn)算指令執(zhí)行的結(jié)果:乘法

IN1*IN2=OUT

除法

IN1/IN2=OUT

現(xiàn)在是12頁\一共有111頁\編輯于星期一[例]

乘/除法指令的應(yīng)用

NETWORK1LDNI0.0//裝入常閉觸點(diǎn)*RAC1,VD100//實數(shù)乘法/RVD10,VD200//實數(shù)除法

運(yùn)行結(jié)果:

現(xiàn)在是13頁\一共有111頁\編輯于星期一數(shù)學(xué)函數(shù)變換指令

1.平方根/自然對數(shù)/指數(shù)指令

SQRTIN,OUT//求平方根指令SQRT(IN)=OUTLNIN,OUT//求(IN)的自然對數(shù)指令

LN(IN)=OUTEXPIN,OUT//求(IN)的指數(shù)指令EXP(IN)=OUT

平方根(自然對數(shù)、指數(shù))指令是把一個雙字長(32位)的實數(shù)(IN)開方(取自然對數(shù)、取以e為底的指數(shù)),得到32位的實數(shù)運(yùn)算結(jié)果,通過(OUT)指定的存儲器單元輸出。現(xiàn)在是14頁\一共有111頁\編輯于星期一

[例]

求以10為底,150的常用對數(shù),150存于VD100,結(jié)果放到AC1(應(yīng)用對數(shù)的換底公式求解)。

當(dāng)求解以10為底的常用對數(shù)時,用實數(shù)除法指令將自然對數(shù)除以2.302585即可。(LN10≈2.302585)

LDI0.1//使能輸入LNVD100,AC1//自然對數(shù)

//Ln(VD100)=AC1LN10.0,VD200//自然對數(shù)

//Ln(10)=VD200/RVD200,AC1//實數(shù)除法指令

//AC1/VD200=VD200

現(xiàn)在是15頁\一共有111頁\編輯于星期一1.平方根/自然對數(shù)/指數(shù)指令

利用指數(shù)函數(shù)求解任意函數(shù)的x次方(yx=exlny)。例如:

7的4次方=EXP(4*LN(7))=24018的3次方根=8^(1/3)=EXP(LN(8)*1/3)=22.三角函數(shù)

SININ,OUT//SIN(IN)=OUTCOSIN,OUT//COS(IN)=OUTTANIN,OUT//TAN(IN)=OUT現(xiàn)在是16頁\一共有111頁\編輯于星期一[例]

求65o的正切值

LDNI0.0//使能輸入MOVR3.14159,AC0//π裝入AC0/R180.0,AC0//得π/1800弧度

*R65.0,AC0//將角度轉(zhuǎn)化為弧度

TANAC0,AC1//求正切指令結(jié)果存放到AC13.數(shù)學(xué)函數(shù)變換指令對標(biāo)志位的影響及操作數(shù)的尋址范圍(1)平方根/自然對數(shù)/指數(shù)/三角函數(shù)運(yùn)算指令執(zhí)行的結(jié)果影響特殊存儲器位:SM1.0(零),SM1.1(溢出),SM1.2(負(fù)),SM1.3(被0除)。(2)使能流輸出ENO=0的錯誤條件是:SM1.1(溢出),SM4.3(運(yùn)行時間),0006(間接尋址)。(3)IN、OUT操作數(shù)的數(shù)據(jù)類型為REAL,尋址范圍見附表1。

現(xiàn)在是17頁\一共有111頁\編輯于星期一增1/減1計數(shù)

增1/減1計數(shù)器用于自增、自減操作,以實現(xiàn)累加計數(shù)和循環(huán)控制等程序的編制。

字節(jié)、字、雙字增1OUT+1=OUT

字節(jié)、字、雙字減1

OUT-1=OUT

現(xiàn)在是18頁\一共有111頁\編輯于星期一7.1.4邏輯運(yùn)算指令

邏輯運(yùn)算是對無符號數(shù)進(jìn)行的邏輯處理,主要包括邏輯與、邏輯或、邏輯異或和取反等運(yùn)算指令。

與(或、異或)指令功能:使能輸入有效時,把兩個字節(jié)(字、雙字)長的輸入邏輯數(shù)按位相與(或、異或),得到的一個字節(jié)(字、雙字)邏輯運(yùn)算結(jié)果,送到OUT指定的存儲器單元輸出。取反指令功能:使能輸入有效時,將一個字節(jié)(字、雙字)長的邏輯數(shù)按位取反,得到的一個字節(jié)(字、雙字)邏輯運(yùn)算結(jié)果,送到OUT指定的存儲器單元輸出。

現(xiàn)在是19頁\一共有111頁\編輯于星期一[例]

字或/雙字異或/字求反/字節(jié)與操作編程舉例。

NETWORK1LDI0.0MOVWLW10,LW30//LW10=LW30ORWLW20,LW30//字或操作

NETWORK2LDI0.1MOVDVD100,VD120XORDVD200,VD120//雙字異或操作

NETWORK3LDI0.2MOVWAC0,AC1INVWAC1//字取反操作

NETWORK4LDI0.3MOVBAC0,AC1ANDB255,AC1//字節(jié)與操作現(xiàn)在是20頁\一共有111頁\編輯于星期一7.1.5字節(jié)交換/填充指令

1、字節(jié)交換指令(SWAYIN)使能輸入(EN)有效時,將輸入字(IN)的高、低字節(jié)交換的結(jié)果輸出到(IN)存儲器單元。2、字填充(FILLIN,OUT,N)使能輸入(EN)有效時,字型輸入數(shù)據(jù)(IN)填充從輸出(OUT)指定單元開始的N個字存儲單元。

N(BYTE)的數(shù)據(jù)范圍0~255?,F(xiàn)在是21頁\一共有111頁\編輯于星期一[例]將從VW100開始的256個字節(jié)(128個字)存儲單元清零。

NETWORK1LDI0.0//使能輸入

FILL+0,VW100,128

//128個字填充0

本條指令執(zhí)行結(jié)果:從VW100開始的256個字節(jié)(VW100~VW354)的存儲單元清零。

現(xiàn)在是22頁\一共有111頁\編輯于星期一7.2表功能指令7.2.1表存數(shù)指令7.2.2表取數(shù)指令7.2.3表查找指令返回本章首頁現(xiàn)在是23頁\一共有111頁\編輯于星期一表只對字型數(shù)據(jù)存儲,表的格式例如表所示。現(xiàn)在是24頁\一共有111頁\編輯于星期一7.2.1表存數(shù)指令A(yù)TT,表存數(shù)指令。該指令在梯形圖中有2個數(shù)據(jù)輸入端:DATA為數(shù)值輸入,指出將被存儲的字型數(shù)據(jù)或其地址;TBL表格的首地址,用以指明被訪問的表格。當(dāng)使能輸入有效時,將輸入字型數(shù)據(jù)添加到指定的表格中。表存數(shù)特點(diǎn):表存數(shù)時,新存的數(shù)據(jù)添加在表中最后一個數(shù)據(jù)的后面。每向表中存一個數(shù)據(jù),實際填表數(shù)EC會自動加1?,F(xiàn)在是25頁\一共有111頁\編輯于星期一指令A(yù)TT執(zhí)行結(jié)果

返回本節(jié)現(xiàn)在是26頁\一共有111頁\編輯于星期一7.2.2表取數(shù)指令1.FIFO,先進(jìn)先出指令2.LIFO,后進(jìn)先出指令現(xiàn)在是27頁\一共有111頁\編輯于星期一1.FIFO,先進(jìn)先出指令當(dāng)使能輸入有效時,從TBL指明的表中移出第一個字型數(shù)據(jù)并將其輸出到DATA所指定的字單元。FIFO表取數(shù)特點(diǎn):取數(shù)時,移出的數(shù)據(jù)總是最先進(jìn)入表中的數(shù)據(jù)。每次從表中移出一個數(shù)據(jù),剩余數(shù)據(jù)依次上移一個字單元位置,同時實際填表數(shù)EC會自動減1。指令格式: FIFO TBL,DATA 例: FIFO VW100,AC0如果仍是對表4.21存取,則指令執(zhí)行情況如表4.23所示。現(xiàn)在是28頁\一共有111頁\編輯于星期一指令FIFO執(zhí)行結(jié)果

現(xiàn)在是29頁\一共有111頁\編輯于星期一2.LIFO,后進(jìn)先出指令當(dāng)使能輸入有效時,從TBL指明的表中移出最后一個字型數(shù)據(jù)并將其輸出到DATA所指定的字單元。LIFO表取數(shù)特點(diǎn):取數(shù)時,移出的數(shù)據(jù)是最后進(jìn)入表中的數(shù)據(jù)。每次從表中取出一個數(shù)據(jù),剩余數(shù)據(jù)位置保持不變,實際填表數(shù)EC會自動減1。指令格式: LIFO TBL,DATA 例: LIFO VW100,AC0如果仍是對表存取,則指令執(zhí)行情況如表所示?,F(xiàn)在是30頁\一共有111頁\編輯于星期一指令LIFO執(zhí)行結(jié)果返回本節(jié)現(xiàn)在是31頁\一共有111頁\編輯于星期一7.2.3表查找指令FND?,表查找指令。通過表查找指令可以從字型數(shù)表中找出符合條件的數(shù)據(jù)所在的表中數(shù)據(jù)編號,編號范圍為0~99。在梯形圖中有4個數(shù)據(jù)輸入端:TBL表格的首地址,用以指明被訪問的表格;PTN是用來描述查表條件時進(jìn)行比較的數(shù)據(jù);CMD是比較運(yùn)算符“?”的編碼,它是一個1~4的數(shù)值,分別代表=、<>、<和>運(yùn)算符;INDX用來指定表中符合查找條件的數(shù)據(jù)的地址?,F(xiàn)在是32頁\一共有111頁\編輯于星期一表查找指令執(zhí)行結(jié)果返回本節(jié)現(xiàn)在是33頁\一共有111頁\編輯于星期一7.3轉(zhuǎn)換指令7.3.1數(shù)據(jù)類型轉(zhuǎn)換7.3.2編碼和譯碼7.3.3七段碼7.3.4字符串轉(zhuǎn)換返回本章首頁現(xiàn)在是34頁\一共有111頁\編輯于星期一7.3.1數(shù)據(jù)類型轉(zhuǎn)換1.字節(jié)與整數(shù)(1)字節(jié)到整數(shù)(2)整數(shù)到字節(jié)2.整數(shù)與雙整數(shù)(1)雙整數(shù)到整數(shù)(2)整數(shù)到雙整數(shù)3.雙整數(shù)與實數(shù)

(1)實數(shù)到雙整數(shù)

(2)雙整數(shù)到實數(shù)

4.整數(shù)與BCD碼

(1)BCD碼到整數(shù)

(2)整數(shù)到BCD碼

5.程序?qū)嵗?/p>

現(xiàn)在是35頁\一共有111頁\編輯于星期一1.字節(jié)與整數(shù)(1)字節(jié)到整數(shù)BTI,字節(jié)轉(zhuǎn)換為整數(shù)指令。使能輸入有效時,將字節(jié)輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到OUT輸出。字節(jié)型是無符號的,所以沒有符號擴(kuò)展。使能流輸出ENO斷開的出錯條件:SM4.3(運(yùn)行時間);0006(間接尋址)。指令格式:

BTI IN,OUT例:

BTI VB0,AC0現(xiàn)在是36頁\一共有111頁\編輯于星期一(2)整數(shù)到字節(jié)ITB,整數(shù)轉(zhuǎn)換字節(jié)指令。使能輸入有效時,將整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成字節(jié)類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)超出字節(jié)范圍(0~255)則產(chǎn)生溢出。移位指令影響的特殊存儲器位:SM1.1(溢出)。使能流輸出ENO斷開的出錯條件:SM1.1(溢出);SM4.3(運(yùn)行時間);0006(間接尋址)。指令格式:

ITB IN,OUT 例:

ITB AC0,VB10現(xiàn)在是37頁\一共有111頁\編輯于星期一2.整數(shù)與雙整數(shù)(1)雙整數(shù)到整數(shù)DTI,雙整數(shù)轉(zhuǎn)換為整數(shù)指令。使能輸入有效時,將雙整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)超出整數(shù)范圍則產(chǎn)生溢出。移位指令影響的特殊存儲器位:SM1.1(溢出)。使能流輸出ENO斷開的出錯條件:SM1.1(溢出);SM4.3(運(yùn)行時間);0006(間接尋址)。指令格式:

DTI IN,OUT 例:

DTI AC0,VW20現(xiàn)在是38頁\一共有111頁\編輯于星期一(2)整數(shù)到雙整數(shù)ITD,整數(shù)轉(zhuǎn)換為雙整數(shù)指令。使能輸入有效時,將整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成雙整數(shù)類型(符號進(jìn)行擴(kuò)展),并將結(jié)果送到OUT輸出。使能流輸出ENO斷開的出錯條件:SM4.3(運(yùn)行時間);0006(間接尋址)。指令格式:

ITD IN,OUT 例:

ITD VW0,AC0現(xiàn)在是39頁\一共有111頁\編輯于星期一3.雙整數(shù)與實數(shù)(1)實數(shù)到雙整數(shù)現(xiàn)在是40頁\一共有111頁\編輯于星期一(2)雙整數(shù)到實數(shù)DTR,雙整數(shù)轉(zhuǎn)換實數(shù)指令。使能輸入有效時,將雙整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成實型,并將結(jié)果送到OUT輸出。使能流輸出ENO斷開的出錯條件:SM4.3(運(yùn)行時間);0006(間接尋址)。指令格式:DTR IN,OUT 例:

DTR AC0,VD100現(xiàn)在是41頁\一共有111頁\編輯于星期一4.整數(shù)與BCD碼(1)BCD碼到整數(shù)BCDI,BCD碼轉(zhuǎn)換為整數(shù)指令。使能輸入有效時,將BCD碼輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)IN的范圍為0~9999。指令格式:BCDI OUT 例:

BCDI AC0

現(xiàn)在是42頁\一共有111頁\編輯于星期一(2)整數(shù)到BCD碼IBCD,整數(shù)轉(zhuǎn)換為BCD碼指令。使能輸入有效時,將整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成BCD碼類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)IN的范圍為0~9999。指令格式:IBCD OUT 例:

IBCD AC0現(xiàn)在是43頁\一共有111頁\編輯于星期一5.程序?qū)嵗δ埽耗M量控制程序中的數(shù)據(jù)類型轉(zhuǎn)換。將模擬量輸入端采樣值由整數(shù)轉(zhuǎn)換為雙整數(shù),然后由雙整數(shù)轉(zhuǎn)換為實數(shù),再除以一個比例因子得到PLC可以處理的范圍內(nèi)的值。程序?qū)崿F(xiàn):本程序如圖所示。返回本節(jié)現(xiàn)在是44頁\一共有111頁\編輯于星期一7.3.2編碼和譯碼1.編碼ENCO,編碼指令。使能輸入有效時,將字型輸入數(shù)據(jù)IN的最低有效位(值為1的位)的位號輸出到OUT所指定的字節(jié)單元的低4位。即用半個字節(jié)來對一個字型數(shù)據(jù)16位中的1位有效位進(jìn)行編碼。使能流輸出ENO斷開的出錯條件:SM4.3(運(yùn)行時間);0006(間接尋址)。指令格式:

ENCO IN,OUT例:

ENCO AC0,VB0現(xiàn)在是45頁\一共有111頁\編輯于星期一以本指令為例,指令執(zhí)行情況如表所示。編碼指令執(zhí)行結(jié)果現(xiàn)在是46頁\一共有111頁\編輯于星期一2.譯碼DECO,譯碼指令。使能輸入有效時,將字節(jié)型輸入數(shù)據(jù)IN的低4位所表示的位號對OUT所指定的字單元的對應(yīng)位置1,其他位置0。即對半個字節(jié)的編碼進(jìn)行譯碼來選擇一個字型數(shù)據(jù)16位中的1位。使能流輸出ENO斷開的出錯條件:SM4.3(運(yùn)行時間);0006(間接尋址)。指令格式:

DECO IN,OUT例:

DECO VB0,AC0本指令執(zhí)行情況如表所示?,F(xiàn)在是47頁\一共有111頁\編輯于星期一返回本節(jié)譯碼指令執(zhí)行結(jié)果現(xiàn)在是48頁\一共有111頁\編輯于星期一7.3.3七段碼SEG,七段碼指令。使能輸入有效時,將字節(jié)型輸入數(shù)據(jù)IN的低4位有效數(shù)字產(chǎn)生相應(yīng)的七段碼,并將其輸出到OUT所指定的字節(jié)單元。返回本節(jié)現(xiàn)在是49頁\一共有111頁\編輯于星期一7.3.4字符串轉(zhuǎn)換1.指令種類(1)ASCII碼轉(zhuǎn)換16進(jìn)制指令(2)16進(jìn)制到ASCII碼(3)整數(shù)到ASCII碼(4)雙整數(shù)到ASCII碼(5)實數(shù)到ASCII碼現(xiàn)在是50頁\一共有111頁\編輯于星期一2.指令介紹下面僅以ASCII碼轉(zhuǎn)換16進(jìn)制指令為例說明字符串與其他數(shù)據(jù)類型之間的轉(zhuǎn)換。ATH,ASCII碼轉(zhuǎn)換16進(jìn)制指令。指令盒中有3個操作數(shù):IN,開始字符的字節(jié)地址,字節(jié)類型;LEN,字符串的長度,字節(jié)類型,最大長度為255;OUT,輸出目的開始字節(jié)地址,字節(jié)類型。使能輸入有效時,把從IN開始的長度為LEN的ASCII碼轉(zhuǎn)換為16進(jìn)制數(shù),并將結(jié)果送到OUT開始的字節(jié)進(jìn)行輸出。現(xiàn)在是51頁\一共有111頁\編輯于星期一3.程序?qū)嵗陨厦娴闹噶顬槔?,條指令的執(zhí)行結(jié)果如表所示,程序如圖所示。指令A(yù)TH執(zhí)行結(jié)果現(xiàn)在是52頁\一共有111頁\編輯于星期一字符串轉(zhuǎn)換返回本節(jié)現(xiàn)在是53頁\一共有111頁\編輯于星期一7.4特殊指令7.4.1時鐘指令7.4.2中斷7.4.3通信7.4.4高速計數(shù)7.4.5高速脈沖輸出7.4.6

PID回路指令現(xiàn)在是54頁\一共有111頁\編輯于星期一7.4.1時鐘指令1.讀實時時鐘TODR,讀實時時鐘指令。當(dāng)使能輸入有效時,系統(tǒng)讀當(dāng)前時間和日期,并把它裝入一個8字節(jié)的緩沖區(qū)。2.寫實時時鐘TODW,寫實時時鐘指令。用來設(shè)定實時時鐘。當(dāng)使能輸入有效時,系統(tǒng)將包含當(dāng)前時間和日期,一個8字節(jié)的緩沖區(qū)將裝入時鐘。現(xiàn)在是55頁\一共有111頁\編輯于星期一時鐘緩沖區(qū)時鐘緩沖區(qū)的格式如表所示。

現(xiàn)在是56頁\一共有111頁\編輯于星期一程序?qū)嵗刂埔螅壕帉懸欢纬绦?,可實現(xiàn)讀、寫實時時鐘,并以BCD碼顯示分鐘。時鐘緩沖區(qū)從VB100開始。程序中的子程序SBR_0為寫時鐘子程序,將當(dāng)前時間寫入從VB100開始的8字節(jié)時間緩沖區(qū),時間設(shè)置如下表所示。程序?qū)崿F(xiàn):讀寫時鐘程序如圖所示?,F(xiàn)在是57頁\一共有111頁\編輯于星期一讀寫時鐘返回本節(jié)現(xiàn)在是58頁\一共有111頁\編輯于星期一7.4.2中斷1.中斷源(1)中斷源及種類中斷源,即中斷事件發(fā)出中斷請求的來源。S7-200可編程序控制器具有最多可達(dá)34個中斷源,每個中斷源都分配一個編號用以識別,稱為中斷事件號。這些中斷源大致分為三大類:通信中斷、輸入輸出中斷和時基中斷。現(xiàn)在是59頁\一共有111頁\編輯于星期一(2)中斷優(yōu)先級中斷優(yōu)先級由高到低依次是:通信中斷、輸入輸出中斷、時基中斷。每種中斷中的不同中斷事件又有不同的優(yōu)先權(quán)。主機(jī)中的所有中斷事件及優(yōu)先級如表5.4所示?,F(xiàn)在是60頁\一共有111頁\編輯于星期一表5.4中斷事件及優(yōu)先級現(xiàn)在是61頁\一共有111頁\編輯于星期一現(xiàn)在是62頁\一共有111頁\編輯于星期一2.中斷調(diào)用即調(diào)用中斷程序,使系統(tǒng)對特殊的內(nèi)部或外部事件作出響應(yīng)。系統(tǒng)響應(yīng)中斷時自動保存邏輯堆棧、累加器和某些特殊標(biāo)志存儲器位,即保護(hù)現(xiàn)場。中斷處理完成時,又自動恢復(fù)這些單元原來的狀態(tài),即恢復(fù)現(xiàn)場。(1)中斷調(diào)用指令(2)注意事項(3)程序?qū)嵗F(xiàn)在是63頁\一共有111頁\編輯于星期一(3)程序?qū)嵗刂埔螅撼绦驅(qū)崿F(xiàn)的功能是調(diào)用I0.1輸入點(diǎn)的上升沿中斷,若發(fā)現(xiàn)I/O錯誤,則禁止本中斷,用外部條件可以禁止全局中斷。程序?qū)崿F(xiàn):本程序如所示。中斷調(diào)用程序現(xiàn)在是64頁\一共有111頁\編輯于星期一3.中斷程序(1)構(gòu)成中斷程序必須由三部分構(gòu)成:中斷程序標(biāo)號、中斷程序指令和無條件返回指令。(2)要求(3)編制方法(4)注意事項返回本節(jié)現(xiàn)在是65頁\一共有111頁\編輯于星期一7.4.3高速計數(shù)1.高速計數(shù)器介紹2.高速計數(shù)指令3.高速計數(shù)器的使用方法4.應(yīng)用實例現(xiàn)在是66頁\一共有111頁\編輯于星期一1.高速計數(shù)器介紹(1)數(shù)量及編號(2)中斷事件類型(3)工作模式及輸入點(diǎn)現(xiàn)在是67頁\一共有111頁\編輯于星期一(1)數(shù)量及編號高速計數(shù)器在程序中使用時的地址編號用HCn來表示(在非程序中有時用HSCn),HC表編程元件名稱為高速計數(shù)器,n為編號。HCn除了表示高速計數(shù)器的編號之外,還代表兩方面的含義:高速計數(shù)器位和高速計數(shù)器當(dāng)前值。編程時,從所用的指令可以看出是位還是當(dāng)前值。不同型號的PLC主機(jī),高速計數(shù)器的數(shù)量對應(yīng)如表所示?,F(xiàn)在是68頁\一共有111頁\編輯于星期一(2)中斷事件類型高速計數(shù)器的計數(shù)和動作可采用中斷方式進(jìn)行控制,與CPU的掃描周期關(guān)系不大,各種型號的PLC可用的高速計數(shù)器的中斷事件大致分為3類:當(dāng)前值等于預(yù)設(shè)值中斷、輸入方向改變中斷和外部復(fù)位中斷。所有高速計數(shù)器都支持當(dāng)前值等于預(yù)設(shè)值中斷。每個高速計數(shù)器的3種中斷的優(yōu)先級由高到低,不同高速計數(shù)器之間的優(yōu)先級又按編號順序由高到低。具體對應(yīng)關(guān)系如表所示?,F(xiàn)在是69頁\一共有111頁\編輯于星期一(3)工作模式及輸入點(diǎn) 工作模式 輸入端連接高速計數(shù)器的工作模式共有12種。以模式4為例,時序如圖7.11所示?,F(xiàn)在是70頁\一共有111頁\編輯于星期一模式4操作時序現(xiàn)在是71頁\一共有111頁\編輯于星期一選用某個高速計數(shù)器在某種工作模式下工作,高速計數(shù)器的輸入端不是任意選擇,必須按系統(tǒng)指定的輸入點(diǎn)。如表所示。現(xiàn)在是72頁\一共有111頁\編輯于星期一2.高速計數(shù)指令高速計數(shù)器指令有兩條:HDEF和HSC。(1)HDEF指令HDEF,定義高速計數(shù)器指令。使能輸入有效時,為指定的高速計數(shù)器分配一種工作模式,即用來建立高速計數(shù)器與工作模式之間的聯(lián)系。梯形圖指令盒中有兩個數(shù)據(jù)輸入端:HSC,高速計數(shù)器編號,為0~5的常數(shù),字節(jié)型;MODE,工作模式,為0~11的常數(shù),字節(jié)型。現(xiàn)在是73頁\一共有111頁\編輯于星期一(2)HSC指令HSC,高速計數(shù)器指令。使能輸入有效時,根據(jù)高速計數(shù)器特殊存儲器位的狀態(tài),并按照HDEF指令指定的工作模式,設(shè)置高速計數(shù)器并控制其工作。梯形圖指令盒數(shù)據(jù)輸入端N:高速計數(shù)器編號,為0~5的常數(shù),字型?,F(xiàn)在是74頁\一共有111頁\編輯于星期一每個高速計數(shù)器都有固定的特殊功能存儲器與之相配合,完成高速計數(shù)功能。具體對應(yīng)關(guān)系如表所示。3.高速計數(shù)器的使用方法

現(xiàn)在是75頁\一共有111頁\編輯于星期一每個高速計數(shù)器都有一個狀態(tài)字節(jié),程序運(yùn)行時根據(jù)運(yùn)行狀況自動使某些位置位,可以通過程序來讀相關(guān)位的狀態(tài),用以作為判斷條件實現(xiàn)相應(yīng)的操作。狀態(tài)字節(jié)中各狀態(tài)位的功能如表所示。現(xiàn)在是76頁\一共有111頁\編輯于星期一(1)選擇計數(shù)器及工作模式(2)設(shè)置控制字節(jié)(3)執(zhí)行HDEF指令(4)設(shè)定當(dāng)前值和預(yù)設(shè)值(5)設(shè)置中斷事件并全局開中斷(6)執(zhí)行HSC指令使用高速計數(shù)器時,要按以下步驟進(jìn)行:現(xiàn)在是77頁\一共有111頁\編輯于星期一表控制位含義現(xiàn)在是78頁\一共有111頁\編輯于星期一4.應(yīng)用實例要對一高速事件精確控制,通過對脈沖信號進(jìn)行增計數(shù),計數(shù)當(dāng)前值達(dá)到24產(chǎn)生中斷,重新從0計數(shù),對中斷次數(shù)進(jìn)行累計。計數(shù)方向用一個外部信號控制,并能實現(xiàn)外部復(fù)位。所用的主機(jī)型號為CPU221。設(shè)計步驟:①選擇高速計數(shù)器HSC0,并確定工作方式4。②令SM37=16#F8③執(zhí)行HDEF指令,輸入端HSC為0,MODE為4。④裝入當(dāng)前值,令SMD38=0。⑤裝入設(shè)定值,令SMD42=24。⑥執(zhí)行中斷連接ATCH指令,輸入端INT為INT0,EVNT為10?,F(xiàn)在是79頁\一共有111頁\編輯于星期一主程序、初始化子程序和中斷程序分別如圖所示。主程序現(xiàn)在是80頁\一共有111頁\編輯于星期一初始化子程序現(xiàn)在是81頁\一共有111頁\編輯于星期一中斷程序返回本節(jié)現(xiàn)在是82頁\一共有111頁\編輯于星期一7.2.5高速脈沖輸出1.高速脈沖輸出介紹(1)高速脈沖輸出的形式(2)輸出端子的確定(3)相關(guān)寄存器(4)脈沖輸出指令現(xiàn)在是83頁\一共有111頁\編輯于星期一每個高速脈沖發(fā)生器對應(yīng)一定數(shù)量特殊標(biāo)志寄存器,這些寄存器包括控制字節(jié)寄存器、狀態(tài)字節(jié)寄存器和參數(shù)數(shù)值寄存器,用以控制高速脈沖的輸出形式、反映輸出狀態(tài)和參數(shù)值。各寄存器分配如表所示?,F(xiàn)在是84頁\一共有111頁\編輯于星期一l

狀態(tài)字節(jié)每個高速脈沖輸出都有一個狀態(tài)字節(jié),程序運(yùn)行時根據(jù)運(yùn)行狀況自動使某些位置位,可以通過程序來讀相關(guān)位的狀態(tài),用以作為判斷條件實現(xiàn)相應(yīng)的操作。狀態(tài)字節(jié)中各狀態(tài)位的功能如表所示?,F(xiàn)在是85頁\一共有111頁\編輯于星期一

控制字節(jié)每個高速脈沖輸出都對應(yīng)一個控制字節(jié),通過對控制字節(jié)中指定位的編程,可以根據(jù)操作要求設(shè)置字節(jié)中各控制位,如脈沖輸出允許、PTO/PWM模式選擇、單段/多段選擇、更新方式、時間基準(zhǔn)、允許更新等。控制字節(jié)中各控制位的功能如表所示?,F(xiàn)在是86頁\一共有111頁\編輯于星期一2.高速脈沖串輸出PTO(1)周期和脈沖數(shù)(2)PTO的種類(3)中斷事件類型(4)PTO的使用現(xiàn)在是87頁\一共有111頁\編輯于星期一(1)周期和脈沖數(shù)周期:單位可以是微秒μs或毫秒ms;為16位無符號數(shù)據(jù),周期變化范圍是50~65535μs或2~65535ms,通常應(yīng)設(shè)定周期值為偶數(shù),若設(shè)置為奇數(shù),則會引起輸出波形占空比的輕微失真。如果編程時設(shè)定周期單位小于2,系統(tǒng)默認(rèn)按2進(jìn)行設(shè)置。脈沖數(shù):用雙字長無符號數(shù)表示,脈沖數(shù)取值范圍是1~4294967295之間。如果編程時指定脈沖數(shù)為0,則系統(tǒng)默認(rèn)脈沖數(shù)為1個?,F(xiàn)在是88頁\一共有111頁\編輯于星期一(2)PTO的種類PTO方式中,如果要輸出多個脈沖串,允許脈沖串進(jìn)行排隊,形成管線,當(dāng)前輸出的脈沖串完成之后,立即輸出新脈沖串,這保證了脈沖串順序輸出的連續(xù)性。單段管線多段管線現(xiàn)在是89頁\一共有111頁\編輯于星期一包絡(luò)表由包絡(luò)段數(shù)和各段構(gòu)成。每段長度為8個字節(jié),包括:脈沖周期值(16位)、周期增量值(16位)和脈沖計數(shù)值(32位)。以包絡(luò)3段的包絡(luò)表為例,包絡(luò)表的結(jié)構(gòu)如表所示。現(xiàn)在是90頁\一共有111頁\編輯于星期一(3)中斷事件類型高速脈沖串輸出可以采用中斷方式進(jìn)行控制,各種型號的PLC可用的高速脈沖串輸出的中斷事件有兩個,如表所示?,F(xiàn)在是91頁\一共有111頁\編輯于星期一(4)PTO的使用使用高速脈沖串輸出時,要按以下步驟進(jìn)行:確定脈沖發(fā)生器及工作模式設(shè)置控制字節(jié)

寫入周期值、周期增量值和脈沖數(shù)裝入包絡(luò)的首地址設(shè)置中斷事件并全局開中斷執(zhí)行PLS指令現(xiàn)在是92頁\一共有111頁\編輯于星期一3.應(yīng)用實例(1)控制要求步進(jìn)電機(jī)轉(zhuǎn)動過程中,要從A點(diǎn)加速到B點(diǎn)后恒速運(yùn)行,又從C點(diǎn)開始減速到D點(diǎn),完成這一過程時用指示燈顯示。電機(jī)的轉(zhuǎn)動受脈沖控制,A點(diǎn)和D點(diǎn)的脈沖頻率為2kHz,B點(diǎn)和C點(diǎn)的頻率為10kHz,加速過程的脈沖數(shù)為400個,恒速轉(zhuǎn)動的脈沖數(shù)為4000個,減速過程脈沖數(shù)為200個。工作過程如圖5.15所示?,F(xiàn)在是93頁\一共有111頁\編輯于星期一步進(jìn)電機(jī)工作過程現(xiàn)在是94頁\一共有111頁\編輯于星期一(2)分析確定脈沖發(fā)生器及工作模式設(shè)置控制字節(jié)寫入周期值、周期增量值和脈沖數(shù)裝入包絡(luò)表首地址中斷調(diào)用執(zhí)行PLS指令現(xiàn)在是95頁\一共有111頁\編輯于星期一(3)程序?qū)崿F(xiàn)本控制系統(tǒng)主程序如下圖所示。初始化子程序SBR_1如圖所示。包絡(luò)表子程序如圖5.18所示。中斷程序如圖所示。主程序現(xiàn)在是96頁\一共有111頁\編輯于星期一初始化子程序SBR_1現(xiàn)在是97頁\一共有111頁\編輯于星期一圖包絡(luò)表子程序SBR_0(1)現(xiàn)在是98頁\一共有111頁\編輯于星期一包絡(luò)表子程序SBR_0(2)圖

中斷程序現(xiàn)在是99頁\一共有111頁\編輯于星期一4.寬度可調(diào)脈沖輸出PWM(1)周期和脈沖寬度(2)更新方式(3)PWM的使用返回本節(jié)現(xiàn)在是100頁\一共有111頁\編輯于

溫馨提示

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

評論

0/150

提交評論