PLC應用技術第六章 功能指令_第1頁
PLC應用技術第六章 功能指令_第2頁
PLC應用技術第六章 功能指令_第3頁
PLC應用技術第六章 功能指令_第4頁
PLC應用技術第六章 功能指令_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、功能指令功能指令20世紀80年代開始,眾多的PLC制造商就在小型機上加入了功能指令或稱應用指令。這些功能指令的出現(xiàn),大大拓寬了PLC的應用范圍。 S7200系列系列PLC的功能指令極其豐富,主要包括以下幾方面:的功能指令極其豐富,主要包括以下幾方面:數(shù)據(jù)表處理指令PID指令 程序控制指令中斷指令通信指令傳送指令數(shù)據(jù)轉換指令算術與邏輯運算指令移位、循環(huán)移位及填充指令高速計數(shù)器處理指令注意:注意:n由于由于S7-200PLC不支持完全數(shù)據(jù)類型檢查。不支持完全數(shù)據(jù)類型檢查。因此,格外要注意操作數(shù)對應的數(shù)據(jù)類型應與因此,格外要注意操作數(shù)對應的數(shù)據(jù)類型應與指令標識符相匹配。指令標識符相匹配。 MOV-B

2、ENINOUTENOMOV-WENINOUTENOMOV-DWENINOUTENOMOV-RENINOUTENOMOVB IN,OUTMOVW IN,OUTMOVDW IN,OUTMOVR IN,OUT例:例:若若I0.1=1,則將,則將VW100的數(shù)據(jù)傳送到的數(shù)據(jù)傳送到AC0MOVW VW100,AC0I0.1MOV-WENINOUTENOVW100AC0VW1001046MSBLSB1046AC0MSBLSBVD10一、傳送指令數(shù)據(jù)傳送指令傳送指令對應的操作數(shù)MOVB IN,OUTMOVW IN,OUTMOVDW IN,OUTBLKMOV-DWENINOUTENONBLKMOV-WENIN

3、OUTENONBLKMOV-BENINOUTENON數(shù)據(jù)塊傳送指令數(shù)據(jù)塊傳送指令傳送字節(jié)立即寫(BIW)指令,將從輸入端(IN)指定字節(jié)地址的內容寫入輸出端(OUT)指定字節(jié)地址的物理輸出點(QB)。傳送字節(jié)立即讀(傳送字節(jié)立即讀(BIR)指令,讀取輸入端()指令,讀取輸入端(IN)指定字節(jié)地址的物理輸入)指定字節(jié)地址的物理輸入點(點(IB)的值,并寫入輸出端()的值,并寫入輸出端(OUT)指定字節(jié)地址的存儲單元中。)指定字節(jié)地址的存儲單元中。傳送字節(jié)立即讀傳送字節(jié)立即讀傳送字節(jié)立即寫傳送字節(jié)立即寫MOV-BIRENINOUTENOBIW IN,OUTMOV-BIWENINOUTENOBIR

4、IN,OUT傳送字節(jié)立即讀、寫指令二、數(shù)學運算指令二、數(shù)學運算指令1.加法指令加法指令+I IN1,OUT+D IN1,OUT+R IN1,OUTADD-IENIN1OUTENOIN2ADD-DIENIN1OUTENOIN2ADD-RENIN1OUTENOIN2執(zhí)行加法操作時,將操作數(shù)IN2與OUT共用一個地址單元,因而在語句表中IN1+OUT=OUTADD-IENIN1OUTENOIN2SM0.0VW10VW23VW23LD SM0.0+I VW10,VW23MOVW VW28,VW23VW282.減法指令-I IN2,OUT-D IN2,OUT-R IN2,OUTSUB-IENIN1OUT

5、ENOIN2SUB-DIENIN1OUTENOIN2SUB-RENIN1OUTENOIN2執(zhí)行減法操作時,將操作數(shù)IN1與OUT共用一個地址單元,因而語句表中OUT-IN2=OUT3.乘法指令*I IN1,OUT*D IN1,OUT*R IN1,OUTMUL-IENIN1OUTENOIN2MUL-DIENIN1OUTENOIN2MUL-RENIN1OUTENOIN2MUL IN1,OUTMULENIN1OUTENOIN2執(zhí)行乘法操作時,將操作數(shù)IN2與OUT共用一個地址單元(整數(shù)完全乘法指令的IN2與OUT的低16位用的是同地址單元),因而語句表中IN1OUT=OUT整數(shù)完全乘法指令,把輸入端

6、(IN1、IN2)指定的兩個16位整數(shù)相乘,產生一個32位乘積 .4.除法指令/I IN2,OUT/D IN2,OUT/R IN2,OUTDIV-IENIN1OUTENOIN2DIV-DIENIN1OUTENOIN2DIV-RENIN1OUTENOIN2DIV IN2,OUTDIVENIN1OUTENOIN2將操作數(shù)IN1與OUT共用一個地址單元 整數(shù)完全除法指令整數(shù)完全除法指令 操作數(shù)操作數(shù)IN1與與OUT的低的低16位用的是同地址單元位用的是同地址單元VD30003115VW300VW302LD SM0.0DIV VW10,VD20余數(shù)商VW20VW22ADD-IENIN1OUTENOIN

7、2SM0.0VW10VD20VW2232bit的結果 16bit有符號整數(shù) IN1(16bit) IN2(16bit) =32(bit)結果)結果 (OUT) 其中高其中高16位是余數(shù),低位是余數(shù),低16位是商位是商 四則運算舉例四則運算舉例 AC0 DIV VW120,VD200/R VD130,VD400I0.0ADDIENENENENIN1IN1IN1IN1IN2IN2IN2IN2OUTOUTOUTOUTENOENOENOENOAC1AC0AC1VW102VD100VW202VD200VW120VD300VD400VD130MULDIVDIVRLD I0.0+I AC1,AC0MUL A

8、C1,VD100MOVR VD300,VD400IN1與OUT不是同一地址單元加法、減法、乘法指令遇到上述情況,也可作類似的處理。 5.加1指令 INC-BENINOUTENOITD IN, OUTINC-WENINOUTENODTI IN, OUTINC-DWENINOUTENODTI IN, OUTDEC-BENINOUTENOITD IN, OUTDEC-WENINOUTENODTI IN, OUTDEC-DWENINOUTENODTI IN, OUT6.減1指令三、轉換指令三、轉換指令n1 1BCDBCD碼與整數(shù)的轉換碼與整數(shù)的轉換n2 2雙字整數(shù)與實數(shù)的轉換雙字整數(shù)與實數(shù)的轉換n3

9、3雙整數(shù)與整數(shù)的轉換雙整數(shù)與整數(shù)的轉換n4. 4. 字節(jié)與整數(shù)的轉換字節(jié)與整數(shù)的轉換 BCD碼轉為整數(shù)(BCDI)指令,將輸入端(IN)指定的BCD碼轉換成整數(shù),并將結果存放到輸出端(OUT)指定的存儲單元中去。輸入數(shù)據(jù)的范圍是0到9999(BCD碼)。整數(shù)轉為BCD碼(IBCD)指令,將輸入端(IN)指定的整數(shù)轉換成BCD碼,并將結果存放到輸出端(OUT)指定的存儲單元中去。輸入數(shù)據(jù)的范圍是0到 9999。指令影響的特殊存儲器位:SM1.6(非法BCD)BCD-IENINOUTENOIBCD OUTI-BCDENINOUTENOBCDI OUT無符號操作1BCD碼與整數(shù)的轉換轉換指令轉換指令

10、DI-RENINOUTENOROUND IN, OUTROUNDENINOUTENOTRUNCENINOUTENOTRUNC IN, OUTDTR IN, OUTDI-R指令:將輸入端(IN)指定的32位有符號整數(shù)轉換成32位實數(shù)ROUND取整指令,轉換時實數(shù)的小數(shù)部分四舍五入。實數(shù)的小數(shù)部分四舍五入。TRUNC取整指令,實數(shù)舍去小數(shù)部分舍去小數(shù)部分后,轉換成32位有符號整數(shù)。實數(shù)轉為雙字整數(shù)指令可分為四舍五入取整(ROUND)和舍去尾數(shù)后取整(TRUNC)指令。取整指令被轉換的輸入值應是有效的實數(shù),如果實數(shù)值太大,使輸出取整指令被轉換的輸入值應是有效的實數(shù),如果實數(shù)值太大,使輸出無法表示,那

11、末溢出位(無法表示,那末溢出位(SM1.1)被置位。)被置位。2雙字整數(shù)與實數(shù)的轉換雙字整數(shù)與實數(shù)的轉換3雙字整數(shù)與整數(shù)的轉換雙字整數(shù)與整數(shù)的轉換DI-IENINOUTENOITD IN, OUTI-DIENINOUTENODTI IN, OUT輸入端(IN)的有符號雙整數(shù)轉換成整數(shù),并存入OUT。被轉換的輸入值應是有效的雙整數(shù),否則溢出位(SM1.1)被置位。欲將整數(shù)轉換為實數(shù),可先用欲將整數(shù)轉換為實數(shù),可先用ITD指令把整數(shù)轉指令把整數(shù)轉換為雙整數(shù),然后再用換為雙整數(shù),然后再用DTR指令把雙整數(shù)轉換指令把雙整數(shù)轉換為實數(shù)。為實數(shù)。例:將計數(shù)器中的數(shù)值(英寸)轉換為厘米:1英寸2.54厘米1

12、002.54VD8四、移位指令四、移位指令和循環(huán)移位移位和循環(huán)移位指令均為無符號數(shù)操作。移位和循環(huán)移位指令均為無符號數(shù)操作。右移位指令,把輸入端(右移位指令,把輸入端(IN)指定的數(shù)據(jù)右移)指定的數(shù)據(jù)右移N位,結果存位,結果存入入OUT。(移位后的空位自動補移位后的空位自動補0)1右移位指令右移位指令SRB OUT,NSHR-BENINOUTENONSHR-WENINOUTENONSHR-DWENINOUTENONSRW OUT,NSRD OUT,N2左移位指令3、循環(huán)右移位、循環(huán)右移位RRB OUT,NROR-BENINOUTENONROR-WENINOUTENONROR-DWENINOUT

13、ENONRRW OUT,NRRD OUT,N4、循環(huán)左移位、循環(huán)左移位字節(jié)、字、雙字循環(huán)移位指令的實際移動位數(shù)R O R _ BE N E N OI NO U TNR O R _ WE N E N OI NO U TNR O R _ D WE N E N OI NO U TNR R B O U T ,N R R W O U T ,N R R D O U T ,NV B 1 0 04V B 1 0 0 V W 1 0 0V W 1 0 0V D 1 0 0V D 1 0 01 21 0N若若大于或等于大于或等于8、16、32,那么在執(zhí)行循環(huán)移位前,先對N取以8、16、32為底的模,其結果其結果0

14、7、015、031為實際移動位數(shù)。為實際移動位數(shù)。 1110 0010 1010 1101VW200001 0101 0110 1000VW20移位前移位后111溢出MW10MW101100 0000 0010 0001MW100111 0000 0000 1000MW10移位前移位后應用舉例18段碼指令段碼指令nSEG指令將輸入的字節(jié)型數(shù)據(jù)低指令將輸入的字節(jié)型數(shù)據(jù)低4位位 (16#0F)轉換轉換成七段顯示碼,送入輸出端成七段顯示碼,送入輸出端七段顯示編碼aVB1005QB06DSEG0110 11010000 0101七、程序控制指令七、程序控制指令1有條件結束指令(有條件結束指令(END)

15、 p執(zhí)行條件成立時結束主程序返回主程序起點。執(zhí)行條件成立時結束主程序返回主程序起點。p條件結束指令用在無條件結束指令條件結束指令用在無條件結束指令(MEND(MEND)之前。)之前。pMicro/WIN32Micro/WIN32自動在主程序結束時加上一個無條件結束自動在主程序結束時加上一個無條件結束指令指令MENDMEND。p條件結束指令不能在子程序或中斷程序中使用。條件結束指令不能在子程序或中斷程序中使用。2暫停指令(暫停指令(STOP)從運行模式(從運行模式(RUNRUN)進入停止模式()進入停止模式(STOPSTOP),立即終止程序的執(zhí)行),立即終止程序的執(zhí)行 3監(jiān)視定時器復位指令(監(jiān)視

16、定時器復位指令(WDR)設置系統(tǒng)監(jiān)視定時器設置系統(tǒng)監(jiān)視定時器WTD,WTD,定時時間為定時時間為100100300ms,300ms,掃描到掃描到WTDWTD時,時,WTDWTD將復位將復位正常工作時:WTD及時復位;故障時:不能復位,會報警并終止系統(tǒng)運行;使用WDR指令:用戶程序長執(zhí)行中斷程序的時間長循環(huán)指令使掃描周期延長4跳轉與標號指令跳轉與標號指令跳轉指令和相應的標號指令必須用在同一個程序段中 02555循環(huán)指令(For,Next)循環(huán)開始循環(huán)開始循環(huán)結束循環(huán)結束INDX:當前循環(huán)次數(shù)計數(shù)器INIT:起始值FINAL:結束值FOR與NEXT必須成套使用舉例舉例 8 8個個1212位二進制數(shù)

17、位二進制數(shù)存放在存放在VW10VW10開始的存開始的存儲區(qū)內,在儲區(qū)內,在I0.3I0.3的上的上升沿,用循環(huán)指令求升沿,用循環(huán)指令求平均值,并將結果存平均值,并將結果存放在放在VW0VW0中。中。6子程序無參數(shù)帶參數(shù)調用子程序帶參數(shù)調用子程序主程序子程序局部變量表局部變量表注意注意在中斷程序和子程序中可以調用子程序主程序和子程序共用累加器子程序中的定時器在停止調用時:100ms定時器將停止計時,當前值不變,重新調用時繼續(xù)計時1ms和10ms定時器將繼續(xù)定時,定時時間到,位變?yōu)?,可以在子程序之外起作用子程序內的定時器的位狀態(tài)保持不變例:當例:當I0.1I0.1為為ONON時,定時器時,定時器

18、T32T32開始定時,產生開始定時,產生每秒每秒1 1次的周期脈沖。次的周期脈沖。T32T32每次定時時間到時調用每次定時時間到時調用一個子程序,在子程序中將模擬量輸入一個子程序,在子程序中將模擬量輸入AIW0AIW0的值的值送入送入VW10VW10,設計主程序和子程序,設計主程序和子程序對特定的內部和外部事件作快速響應 八、中斷指令 中斷程序不是由用戶程序調用,而是在中斷事件中斷程序不是由用戶程序調用,而是在中斷事件發(fā)生時由操作系統(tǒng)調用發(fā)生時由操作系統(tǒng)調用注意:注意:在中斷程序中不能改寫其他程序使用在中斷程序中不能改寫其他程序使用的存儲器,在中斷程序中可以調用一級子程序,的存儲器,在中斷程序

19、中可以調用一級子程序,累加器和邏輯堆棧在中斷程序和被調用的子程累加器和邏輯堆棧在中斷程序和被調用的子程序中是公用的,序中是公用的,設計時應設計時應“越短越好越短越好”(一)全局中斷允許、全局中斷禁止指令 LD SM0.1ENILD SM5.0DTCH 0LD M5.0DISIATCH INT4,0INT_40ATCHENINTEVNTENODTCHENEVNTENO0SM0.1M5.0DISIENISM5.0MAIN PROGRAM OB1LD SM5.0CRETIRETIINTERRUPT 4SM5.0全局地允許全局地允許所有被連接所有被連接的中斷事件的中斷事件 全局地禁止全局地禁止處理所有

20、中處理所有中斷事件斷事件 pCPUCPU進入進入 RUN RUN 模式時模式時自動禁止了中斷。自動禁止了中斷。p在在RUNRUN模式執(zhí)行全局模式執(zhí)行全局中斷允許指令(中斷允許指令(ENIENI)后,允許所有中斷。后,允許所有中斷。 (一)中斷連接指令 與與 中斷事件中斷事件 LD SM0.1ENILD SM5.0DTCH 0LD M5.0DISIATCH INT4,0INT_40ATCHENINTEVNTENODTCHENEVNTENO0SM0.1M5.0DISIENISM5.0MAIN PROGRAM OB1LD SM5.0CRETIRETIINTERRUPT 4SM5.0用來建立某個中斷事

21、用來建立某個中斷事件(件(EVNTEVNT)和某個中斷)和某個中斷程序(程序(INTINT)之間的聯(lián))之間的聯(lián)系。系。該中斷事件發(fā)生時執(zhí)該中斷事件發(fā)生時執(zhí)行相關的中斷程序行相關的中斷程序 中斷事件號事件號 中斷描述 優(yōu)先組 優(yōu)先組中的 優(yōu)先級 8 通信口0 :接收字符 0 9 通信口0 :發(fā)送信息完成 0 2 3 通信口0 :接收信息完成 0 2 4 通信口1 :接收信息完成 1 2 5 通信口1 :接收字符 1 2 6 通信口1 :發(fā)送信息完成 通信(最高) 1 1 9 P T O 0 完成脈沖數(shù)輸出 0 2 0 P T O 1 完成脈沖數(shù)輸出 1 0 1 0 . 0上升沿 2 2 1 0

22、. 1上升沿 3 4 1 0 . 2上升沿 4 6 1 0 . 3上升沿 5 1 1 0 . 0下降沿 6 3 1 0 . 1下降沿 7 5 1 0 . 2下降沿 8 7 1 0 . 3下降沿 9 1 2 H S C 0 C V= P V(當前值= 設定值) 1 0 2 7 H S C 0 輸入方向改變 1 1 2 8 H S C 0 外部復位 1 2 1 3 H S C 1 C V= P V(當前值= 設定值) 1 3 1 4 H S C 1輸入方向改變 1 4 1 5 H S C 1 外部復位 1 5 1 6 H S C 2 C V= P V(當前值= 設定值) 1 6 1 7 H S C

23、 2 輸入方向改變 1 7 1 8 H S C 2 外部復位 1 8 3 2 H S C 3 C V= P V(當前值 = 設定值) 1 9 2 9 H S C 4 C V= P V(當前值 = 設定值) 2 0 3 0 H S C 4 輸入方向改變 2 1 3 1 H S C 4 外部復位 2 2 3 3 H S C 5 C V= P V(當前值 = 設定值) I / O (中等) 2 3 1 0 定時中斷0 0 1 1 定時中斷1 1 2 1 定時器T 3 2 C T = P T中斷 2 2 2 定時器T 9 6 C T = P T中斷 定時(最低) 3 事件號 中斷描述 優(yōu)先組 優(yōu)先組中

24、的 優(yōu)先級 8 通信口0 :接收字符 0 9 通信口0 :發(fā)送信息完成 0 2 3 通信口0 :接收信息完成 0 2 4 通信口1 :接收信息完成 1 2 5 通信口1 :接收字符 1 2 6 通信口1 :發(fā)送信息完成 通信(最高) 1 1 9 P T O 0 完成脈沖數(shù)輸出 0 2 0 P T O 1 完成脈沖數(shù)輸出 1 0 1 0 . 0上升沿 2 2 1 0 . 1上升沿 3 4 1 0 . 2上升沿 4 6 1 0 . 3上升沿 5 1 1 0 . 0下降沿 6 3 1 0 . 1下降沿 7 5 1 0 . 2下降沿 8 7 1 0 . 3下降沿 9 1 2 H S C 0 C V =

25、 P V (當前值= 設定值) 1 0 2 7 H S C 0 輸入方向改變 1 1 2 8 H S C 0 外部復位 1 2 1 3 H S C 1 C V = P V (當前值= 設定值) 1 3 1 4 H S C 1輸入方向改變 1 4 1 5 H S C 1 外部復位 1 5 1 6 H S C 2 C V = P V (當前值= 設定值) 1 6 1 7 H S C 2 輸入方向改變 1 7 1 8 H S C 2 外部復位 1 8 3 2 H S C 3 C V = P V (當前值 = 設定值) 1 9 2 9 H S C 4 C V = P V (當前值 = 設定值) 2 0

26、 3 0 H S C 4 輸入方向改變 2 1 3 1 H S C 4 外部復位 2 2 3 3 H S C 5 C V = P V (當前值 = 設定值) I / O (中等) 2 3 1 0 定時中斷0 0 1 1 定時中斷1 1 2 1 定時器T 3 2 C T = P T中斷 2 2 2 定時器T 9 6 C T = P T中斷 定時(最低) 3 中斷事件 中斷程序多個中斷事件可調用同一個中斷程序 L D S M 0 . 1E N IL D S M 5 . 0D T C H 0L D M 5 . 0D I S IA T C H I N T 4, 0I N T _ 40A T C HE

27、NI N TE V N TE N OD T C HE NE V N TE N O0S M 0 . 1M 5 . 0D I S IE N IS M 5 . 0M A I N P R O G R A M O B 1L D S M 5 . 0C R E T IR E T II N T E R R U P T 4S M 5 . 0一個中斷事件不能同時與多個中斷程序建立連接,否則,系統(tǒng)默認執(zhí)行這些中斷程序中的最后一個。(一)中斷分離指令 LD SM0.1ENILD SM5.0DTCH 0LD M5.0DISIATCH INT4,0INT_40ATCHENINTEVNTENODTCHENEVNTENO0S

28、M0.1M5.0DISIENISM5.0MAIN PROGRAM OB1LD SM5.0CRETIRETIINTERRUPT 4SM5.0截斷某中斷事件和中截斷某中斷事件和中斷程序之間的聯(lián)系斷程序之間的聯(lián)系單獨單獨禁止某中斷事件禁止某中斷事件 (三) 中斷返回指令 LD SM0.1ENILD SM5.0DTCH 0LD M5.0DISIATCH INT4 ,0INT_40ATCHENINTEVNTENODTCHENEVNTENO0SM0.1M5.0DISIENISM5.0MAIN PROGRAM OB1LD SM5.0CRETIRETIINTERRUPT 4SM5.0有條件中斷返回指有條件中斷

29、返回指令令(CRETICRETI),根,根據(jù)控制的條件從中據(jù)控制的條件從中斷程序中返回到主斷程序中返回到主程序程序 LD SM0.1ENILD SM5.0DTCH 0LD M5.0DISIATCH INT4,0INT_40ATCHENINTEVNTENODTCHENEVNTENO0SM0.1M5.0DISIENISM5.0MAIN PROGRAM OB1LD SM5.0CRETIRETIINTERRUPT 4SM5.0中斷程序中中斷程序中不能使用不能使用:n全局中斷禁止指令全局中斷禁止指令DISIn全局中斷允許指令全局中斷允許指令ENIn高速計數(shù)器指令高速計數(shù)器指令HDEFn順序控制繼電器指令

30、順序控制繼電器指令LSCRn有條件結束指令有條件結束指令END。(四) 中斷的分類 n通訊口中斷通訊口中斷 nI/O中斷中斷 n時基中斷時基中斷 1.通信口中斷事件號 中斷描述 優(yōu)先組 優(yōu)先組中的 優(yōu)先級 8 通信口0:接收字符 0 9 通信口0:發(fā)送信息完成 0 23 通信口0:接收信息完成 0 24 通信口1:接收信息完成 1 25 通信口1:接收字符 1 26 通信口1:發(fā)送信息完成 通信(最高) 1 19 PTO 0 完成脈沖數(shù)輸出 0 20 PTO 1 完成脈沖數(shù)輸出 1 0 10.0上升沿 2 2 10.1上升沿 3 4 10.2上升沿 4 6 10.3上升沿 5 1 10.0下降

31、沿 6 3 10.1下降沿 7 5 10.2下降沿 8 7 10.3下降沿 9 12 HSC0 CV=PV(當前值=設定值) 10 27 HSC0 輸入方向改變 11 28 HSC0 外部復位 12 13 HSC1 CV=PV(當前值=設定值) 13 14 HSC1輸入方向改變 14 15 HSC1 外部復位 15 16 HSC2 CV=PV(當前值=設定值) 16 17 HSC2 輸入方向改變 17 18 HSC2 外部復位 18 32 HSC3 CV=PV(當前值 = 設定值) 19 29 HSC4 CV=PV(當前值 = 設定值) 20 30 HSC4 輸入方向改變 21 31 HSC4

32、 外部復位 22 33 HSC5 CV=PV(當前值 = 設定值) I/O(中等) 23 10 定時中斷0 0 11 定時中斷1 1 21 定時器T32 CT = PT中斷 2 22 定時器T96 CT = PT中斷 定時(最低) 3 利用接受和發(fā)送中斷來簡化程序對通信的控制利用接受和發(fā)送中斷來簡化程序對通信的控制2.I/O中斷事件號 中斷描述 優(yōu)先組 優(yōu)先組中的 優(yōu)先級 8 通信口0:接收字符 0 9 通信口0:發(fā)送信息完成 0 23 通信口0:接收信息完成 0 24 通信口1:接收信息完成 1 25 通信口1:接收字符 1 26 通信口1:發(fā)送信息完成 通信(最高) 1 19 PTO 0

33、完成脈沖數(shù)輸出 0 20 PTO 1 完成脈沖數(shù)輸出 1 0 10. 0上升沿 2 2 10. 1上升沿 3 4 10. 2上升沿 4 6 10. 3上升沿 5 1 10. 0下降沿 6 3 10. 1下降沿 7 5 10. 2下降沿 8 7 10. 3下降沿 9 12 HSC0 CV=PV(當前值=設定值) 10 27 HSC0 輸入方向改變 11 28 HSC0 外部復位 12 13 HSC1 CV=PV(當前值=設定值) 13 14 HSC1輸入方向改變 14 15 HSC1 外部復位 15 16 HSC2 CV=PV(當前值=設定值) 16 17 HSC2 輸入方向改變 17 18 H

34、SC2 外部復位 18 32 HSC3 CV=PV(當前值 = 設定值) 19 29 HSC4 CV=PV(當前值 = 設定值) 20 30 HSC4 輸入方向改變 21 31 HSC4 外部復位 22 33 HSC5 CV=PV(當前值 = 設定值) I/ O(中等) 23 10 定時中斷0 0 11 定時中斷1 1 21 定時器T32 CT = PT中斷 2 22 定時器T96 CT = PT中斷 定時(最低) 3 事件號 中斷描述 優(yōu)先組 優(yōu)先組中的 優(yōu)先級 8 通信口0:接收字符 0 9 通信口0:發(fā)送信息完成 0 23 通信口0:接收信息完成 0 24 通信口1:接收信息完成 1 2

35、5 通信口1:接收字符 1 26 通信口1:發(fā)送信息完成 通信(最高) 1 19 PTO 0 完成脈沖數(shù)輸出 0 20 PTO 1 完成脈沖數(shù)輸出 1 0 10. 0上升沿 2 2 10. 1上升沿 3 4 10. 2上升沿 4 6 10. 3上升沿 5 1 10. 0下降沿 6 3 10. 1下降沿 7 5 10. 2下降沿 8 7 10. 3下降沿 9 12 HSC0 CV=PV(當前值=設定值) 10 27 HSC0 輸入方向改變 1 1 28 HSC0 外部復位 12 13 HSC1 CV=PV(當前值=設定值) 13 14 HSC1輸入方向改變 14 15 HSC1 外部復位 15

36、16 HSC2 CV=PV(當前值=設定值) 16 17 HSC2 輸入方向改變 17 18 HSC2 外部復位 18 32 HSC3 CV=PV(當前值 = 設定值) 19 29 HSC4 CV=PV(當前值 = 設定值) 20 30 HSC4 輸入方向改變 21 31 HSC4 外部復位 22 33 HSC5 CV=PV(當前值 = 設定值) I / O(中等) 23 10 定時中斷0 0 1 1 定時中斷1 1 21 定時器T32 CT = PT中斷 2 22 定時器T96 CT = PT中斷 定時(最低) 3 3.時基中斷:n定時中斷n定時器中斷定時中斷ENSBR_0ENMOV_BEN

37、INENOOUTSMB34INT_010ATCHENINTEVNTENOSM0.0100( )ENISM0.1MOV_WENINOUTENOAIW4SM0.0VW100 OB1INT 0SBR 0LD SM0.1CALL SBR_0LD SM0.0MOVB 100, SMB34ATCH INT_0, 10ENILD SM0.0MOVW AIW4, VW100100ms SMB34建立中斷連接100ms定時采集模擬量輸入值按指定的周期按指定的周期時間循環(huán)執(zhí)行時間循環(huán)執(zhí)行當定時中斷設定的當定時中斷設定的周期時間到,定時周期時間到,定時中斷事件把控制權中斷事件把控制權交給相應的中斷程序。交給相應的中

38、斷程序。定時中斷一旦被允許,定時中斷一旦被允許,就會按指定的時間間就會按指定的時間間隔反復執(zhí)行被連接隔反復執(zhí)行被連接的中程序的中程序定時中斷的周期時間n定時中斷定時中斷0/1的周期時間的周期時間 SMB34/35n改變周期時間:修改改變周期時間:修改SMB34/35中的值,必須重新建立中的值,必須重新建立中斷程序與定時中斷事件的連接。中斷程序與定時中斷事件的連接。周期時間:周期時間:1 1255ms255ms周期增量:周期增量:1ms1ms定時中斷的應用n常用定時中斷以固定的時間間隔去控制模擬量的采集和執(zhí)行PID回路程序。E NS B R _ 0E NM O V _ BE NI NE N OO

39、 U TS M B 3 4I N T _ 01 0A T C HE NI N TE V N TE N OS M 0 . 01 0 0( )E N IS M 0 . 1M O V _ WE NI NO U TE N OA I W 4S M 0 . 0V W 1 0 0 O B 1I N T 0S B R 0L D S M 0 . 1C A L L S B R _ 0L D S M 0 . 0M O V B 1 0 0 , S M B 3 4A T C H I N T _ 0 , 1 0E N IL D S M 0 . 0M O V W A I W 4 , V W 1 0 01 0 0 ms S

40、M B 3 4建立中斷連接1 0 0 ms 定時采集模擬量輸入值ENSBR_0ENMOV_BENINENOOUTSMB34INT_010ATCHENINTEVNTENOSM0.0100( )ENISM0.1MOV_WENINOUTENOAIW4SM0.0VW100 OB1INT 0SBR 0LD SM0.1CALL SBR_0LD SM0.0MOVB 100, SMB34ATCH INT_0, 10ENILD SM0.0MOVW AIW4, VW100100ms SMB34建立中斷連接100ms定時采集模擬量輸入值定時器中斷n使用1ms分辨率的定時器T32和T96當中斷被允許,定時器的當前值等

41、于設定值時,當中斷被允許,定時器的當前值等于設定值時,在在CPU的的1ms定時刷新中,執(zhí)行被鏈接的中斷程序定時刷新中,執(zhí)行被鏈接的中斷程序(五)中斷優(yōu)先級 n通訊通訊(最高)nI/O中斷中斷(中等)n時基中斷時基中斷(最低)中斷指令舉例例:用定時中斷0,每100ms將VB0加1,VB0到100時關閉定時中斷,并將Q0.0置1,設計主程序和中斷程序九、PID回路指令 用PLC實現(xiàn)模擬量閉環(huán)控制系統(tǒng)PLCc(t)M(t)SP(n)e(n)M(n)PV(n)PV(t)模擬量輸入端子(一)PID算法 PID控制器調節(jié)回路輸出。為使系統(tǒng)達到穩(wěn)定狀態(tài),應讓偏差(e)趨于零。 dtdeKMedtKeKtMc

42、initialtcc/)( 0 偏差(偏差(e e)= = 給定值(給定值(SPSP)過程變量()過程變量(PVPV)PID控制器的輸出量控制器的輸出量M(t):比例項比例項積分項積分項初始值初始值微分項微分項隨時間t連續(xù)變化的模擬量PID回路的增益回路的增益將連續(xù)函數(shù)離散化 )(11nnDinitialniiInCneeKMeKeKMdtdeKMedtKeKtMcinitialtcc/)( 0 Mn在第在第n采樣時刻采樣時刻PID回路輸出的計算值;回路輸出的計算值;en在第在第n次采樣時刻的偏差值;次采樣時刻的偏差值;en-1在第在第n-1采樣時刻的偏差值(偏差前值);采樣時刻的偏差值(偏差

43、前值);KI積分項的系數(shù);積分項的系數(shù);KD微分項的系數(shù);微分項的系數(shù);)(1nnDnInCneeKMXeKeKMnnnnMDMIMPM)(11nnDinitialniiInCneeKMeKeKM計算中,只需保留積分項前值(計算中,只需保留積分項前值(MX),即),即: :從第一個采樣周期到當前采樣周期的所有誤差的累積值從第一個采樣周期到當前采樣周期的所有誤差的累積值將連續(xù)函數(shù)離散化 比例項、積分項、微分項n比例項比例項 MPn=KC (SPn-PVn-)n積分項積分項 MIn= KCTS / TI (SPn-PVn)+MXnn微分項微分項 MDn=KCTD / TS(PVn-1-PVn)nn

44、nnMDMIMPM9個參數(shù)個參數(shù)KIKD進行PID運算的9個參數(shù):n過程變量當前值過程變量當前值 PVnn給定值給定值 SPnn增益增益 KC n采樣時間采樣時間 TS n積分時間積分時間 TIn微分時間微分時間 TDn積分項前值積分項前值 MX n過程變量前值過程變量前值 PVn-1 n輸出值輸出值 Mn(二)PID回路指令 nPID回路指令運用回路表中的輸入信息和組態(tài)信息,進行PID運算,編程極其簡便。(組態(tài)編程,即填表式編程) PIDENTBLLOOPENOVB100I0.02回路回路號號0-70-7回路表的回路表的起始地址起始地址限用限用VBVB區(qū)區(qū)域域)PVPV()T/T(KMX)P

45、VSP()T/T(K)PVSP(KMn1-nsdcnniscnncn偏移偏移地址地址變量名變量名數(shù)據(jù)數(shù)據(jù)類型類型變量類型變量類型描描 述述0 0過程變量(過程變量(PVn)實數(shù)實數(shù)輸入輸入必須在必須在0.00.01.01.0之間之間4 4給定值(給定值(SPn)實數(shù)實數(shù)輸入輸入必須在必須在0.00.01.01.0之間之間8 8輸出值(輸出值(Mn)實數(shù)實數(shù)輸入輸入/ /輸出輸出必須在必須在0.00.01.01.0之間之間1212增益(增益(KC)實數(shù)實數(shù)輸入輸入比例常數(shù),可正可負比例常數(shù),可正可負1616采樣時間(采樣時間(TS)實數(shù)實數(shù)輸入輸入單位為秒,須是正數(shù)單位為秒,須是正數(shù)2020積分

46、時間(積分時間(TI)實數(shù)實數(shù)輸入輸入單位為分鐘,須是正數(shù)單位為分鐘,須是正數(shù)2424微分時間(微分時間(TD)實數(shù)實數(shù)輸入輸入單位為分鐘,須是正數(shù)單位為分鐘,須是正數(shù)2828積分項前值(積分項前值(MX)實數(shù)實數(shù)輸入輸入/ /輸出輸出必須在必須在0.00.01.01.0之間之間3232過程變量前值(過程變量前值(PVn-1)實數(shù)實數(shù)輸入輸入/ /輸出輸出最近一次最近一次PIDPID運算的過運算的過程變量值,必須在程變量值,必須在0.00.01.01.0之間之間PIDENTBLLOOPTBL:回路表的起始地址限:回路表的起始地址限V區(qū)域(區(qū)域(byte)進行進行PIDPID運算的前提條件運算的

47、前提條件n在程序中最多可以用8條PID指令n不可重復使用同一個回路號PIDENTBLLOOPENOVB100I0.02邏輯堆棧棧頂值必須為11周期地進行PID運算n以一定的采樣頻率進行PID運算nPIDPID指令編入定時發(fā)生的中斷程序中指令編入定時發(fā)生的中斷程序中n或在主程序中由定時器控制或在主程序中由定時器控制PIDPID指令的指令的執(zhí)行頻率執(zhí)行頻率 (三)控制方式 當允許輸入端(當允許輸入端(ENEN)檢測到一個)檢測到一個正跳變信號,信號,PIDPID回路就從手動方式回路就從手動方式無擾動地切換到自動方式。切換到自動方式。PIDENTBLLOOPENOVB1002I0.1自動自動手動手動

48、切換時將參數(shù)Mn、SPn、PVn-1、MX先后填入回路表,完成回路表的組態(tài)編程(四)回路輸入輸出變量的數(shù)值轉換(四)回路輸入輸出變量的數(shù)值轉換 n回路輸入變量的轉換和標準化回路輸入變量的轉換和標準化 n回路輸出變量的數(shù)據(jù)轉換回路輸出變量的數(shù)據(jù)轉換 模擬量輸入端子1回路輸入變量的轉換和標準化 執(zhí)行PID指令前必須把給定值和過程變量轉換成標準的浮點型實數(shù)。 AIW0PV(t)PV(n)SP(n)將過程變量將過程變量PVn 輸入值標準化為(輸入值標準化為(0.01.0)的實數(shù),)的實數(shù),填入表中(填入表中(VD100):): INT REAL (0.01.0)模擬量AIW*數(shù)字量回路輸入變量的數(shù)據(jù)轉

49、換INT REAL 以單極性為例2回路輸出變量的數(shù)據(jù)轉換回路輸出變量的數(shù)據(jù)轉換 nPID運算的輸出值是0.01.0之間的標準化了的實數(shù)值。n在輸出變量傳送給D/A模擬量單元之前,必須把回路輸出變量轉換成相應的16位整數(shù),從AQW送出去。pv(t)pv(n)Sp(n)M(n)M(t)是實數(shù)值標準化的逆過程:是實數(shù)值標準化的逆過程: 標準化的實數(shù)值(標準化的實數(shù)值(0.01.0)REAL INT將實數(shù)轉換為16位整數(shù)(INT) REAL INT D/A以單極性為例n(五)變量和范圍(五)變量和范圍n(六)選擇回路控制類型(六)選擇回路控制類型n(七)出錯條件(七)出錯條件(八)(八)PID指令編程

50、舉例指令編程舉例 n水箱由水泵供水水箱由水泵供水 n維持水箱的水位(維持水箱的水位( 0.750.75)n控制水泵速度控制水泵速度 0.75維持0.75水位變化的速度v變化的速度v分分 析析n給定值是水箱滿水位的是水箱滿水位的75%時的水位時的水位 (0.75)n過程變量由水位測量儀(由水位測量儀(A/D)提供提供 (單極性)單極性)n輸出值用來控制用來控制水泵的速度水泵的速度是最大允許值的是最大允許值的 0%100%(0.01.0) (單極性)單極性)選擇比例和積分控制選擇比例和積分控制n其回路增益和時間常數(shù)可以通過其回路增益和時間常數(shù)可以通過 工程計算初步確定。工程計算初步確定。n進一步調

51、整以達到最優(yōu)控制效果。進一步調整以達到最優(yōu)控制效果。n初步確定的回路增益和時間常數(shù):初步確定的回路增益和時間常數(shù): KC=0.25 TS=0.1秒, TI=30分鐘 TD=0。手動方式n啟動時關閉出水口啟動時關閉出水口n用手動方式控制水泵速度用手動方式控制水泵速度n使水位達到滿水位的使水位達到滿水位的75%0.75手動方式手動方式 自動方式自動方式圖5-81INT0SBR0MAINMOVR 0.25,VD112MOVR 30.0,VD120MOVB 100,SMB34/R 32000.0,AC0MOVR AC0,VD100MOVR VD108,AC0*R 32000.0,AC0DTI AC0,

52、AC0MOVW AC0,AQW0ENSBR_0ENSM0.1ENINOUTENO0.75VD104MOV_RENINOUTENO0.25VD112MOV_RENINOUTENO0.1VD116MOV_RENINOUTENO30.0VD120MOV_RENINOUTENO0.0VD124MOV_RENINOUTENO100SMB34INT_010ATCHENINTEVNTENOSM0.0MOV_RENII_DIENINOUTENOAIW0SM0.0AC0DI_RENINOUTENOAC0AC0MOV_RENINOUTENOAC0VD100AC032000.0DIV_RENIN1IN2ENOVB1

53、000PIDENTBLLOOPENOAC0OUTI0.0MOV_RENINOUTENOVD108AC0VD10832000.0MUL_RENIN1IN2ENOAC0OUTROUNDENINOUTENOAC0AC0MOV_WENINOUTENOAC0AQW0DI_IENINOUTENOAC0AC0SM0.0LD SM0.1CALL SBR0LD SM0.0MOVR 0.75,VD104MOVR 0.1,VD116MOVR 0.0,VD124ENILD SM0.0ITD AIW0,AC0DTR AC0,AC0LD I0.0PID VB100,0LD SM0.0ROUND AC0,AC0ATCR I

54、NT0,10調用初始化子程序裝入設定值75%裝入回路增益0.25裝入采樣時間0.1s裝入積分時間30分關閉微分作用設定定時中斷0的時間間隔為100ms設置定時中斷以執(zhí)行PID指令允許中斷把模擬量輸入寄存器的值(單極性)存入AC032位雙整數(shù)轉換為實數(shù)標準化AC0中的值將AC0中的值存入回路表VD100在自動方式下執(zhí)行PID指令把輸出值送到AC0將AC0中的值刻度化將實數(shù)轉換為32位雙整數(shù)將雙整數(shù)轉換為16位整數(shù)將整數(shù)值寫到模擬量輸出寄存器控制開關n自動方式:n打開出水口,n合上控制開關(I0.0)n水泵控制從手動方式切換到自動方式(無擾動切換)0.75給定值給定值增益增益采樣時間采樣時間微分時

55、間微分時間積分時間積分時間INT_0MAIN圖5-81INT0SBR0MAINMOVR 0.25,VD112MOVR 30.0,VD120MOVB 100,SMB34/R 32000.0,AC0MOVR AC0,VD100MOVR VD108,AC0*R 32000.0,AC0DTI AC0,AC0MOVW AC0,AQW0ENSBR_0ENSM0.1ENINOUTENO0.75VD104MOV_RENINOUTENO0.25VD112MOV_RENINOUTENO0.1VD116MOV_RENINOUTENO30.0VD120MOV_RENINOUTENO0.0VD124MOV_RENINO

56、UTENO100SMB34INT_010ATCHENINTEVNTENOSM0.0MOV_RENII_DIENINOUTENOAIW0SM0.0AC0DI_RENINOUTENOAC0AC0MOV_RENINOUTENOAC0VD100AC032000.0DIV_RENIN1IN2ENOVB1000PIDENTBLLOOPENOAC0OUTI0.0MOV_RENINOUTENOVD108AC0VD10832000.0MUL_RENIN1IN2ENOAC0OUTROUNDENINOUTENOAC0AC0MOV_WENINOUTENOAC0AQW0DI_IENINOUTENOAC0AC0SM0.0

57、LD SM0.1CALL SBR0LD SM0.0MOVR 0.75,VD104MOVR 0.1,VD116MOVR 0.0,VD124ENILD SM0.0ITD AIW0,AC0DTR AC0,AC0LD I0.0PID VB100,0LD SM0.0ROUND AC0,AC0ATCR INT0,10調用初始化子程序裝入設定值75%裝入回路增益0.25裝入采樣時間0.1s裝入積分時間30分關閉微分作用設定定時中斷0的時間間隔為100ms設置定時中斷以執(zhí)行PID指令允許中斷把模擬量輸入寄存器的值(單極性)存入AC032位雙整數(shù)轉換為實數(shù)標準化AC0中的值將AC0中的值存入回路表VD100在自

58、動方式下執(zhí)行PID指令把輸出值送到AC0將AC0中的值刻度化將實數(shù)轉換為32位雙整數(shù)將雙整數(shù)轉換為16位整數(shù)將整數(shù)值寫到模擬量輸出寄存器圖5 - 8 1I N T 0S B R 0M A I NM O V R 0 . 2 5 ,V D 1 1 2M O V R 3 0 . 0 ,V D 1 2 0M O V B 1 0 0 ,S M B 3 4/ R 3 2 0 0 0 . 0 ,A C 0M O V R A C 0 ,V D 1 0 0M O V R V D 1 0 8 ,A C 0* R 3 2 0 0 0 . 0 ,A C 0D T I A C 0 ,A C 0M O V W A C 0

59、 ,A Q W 0E NS B R _ 0E NS M 0 . 1E NI NO U TE N O0 . 7 5V D 1 0 4M O V _ RE NI NO U TE N O0 . 2 5V D 1 1 2M O V _ RE NI NO U TE N O0 . 1V D 1 1 6M O V _ RE NI NO U TE N O3 0 . 0V D 1 2 0M O V _ RE NI NO U TE N O0 . 0V D 1 2 4M O V _ RE NI NO U TE N O1 0 0S M B 3 4I N T _ 01 0A T C HE NI N TE V N TE

60、N OS M 0 . 0M O V _ RE N II _ D IE NI NO U TE N OA I W 0S M 0 . 0A C 0D I _ RE NI NO U TE N OA C 0A C 0M O V _ RE NI NO U TE N OA C 0V D 1 0 0A C 03 2 0 0 0 . 0D I V _ RE NI N 1I N 2E N OV B 1 0 00P I DE NT B LL O O PE N OA C 0O U TI 0 . 0M O V _ RE NI NO U TE N OV D 1 0 8A C 0V D 1 0 83 2 0 0 0 . 0

溫馨提示

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

評論

0/150

提交評論