PLC應(yīng)用技術(shù)第六章 功能指令_第1頁(yè)
PLC應(yīng)用技術(shù)第六章 功能指令_第2頁(yè)
PLC應(yīng)用技術(shù)第六章 功能指令_第3頁(yè)
PLC應(yīng)用技術(shù)第六章 功能指令_第4頁(yè)
PLC應(yīng)用技術(shù)第六章 功能指令_第5頁(yè)
已閱讀5頁(yè),還剩78頁(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)介

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

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

4、IN,OUT傳送字節(jié)立即讀、寫指令二、數(shù)學(xué)運(yùn)算指令二、數(shù)學(xué)運(yùn)算指令1.加法指令加法指令+I IN1,OUT+D IN1,OUT+R IN1,OUTADD-IENIN1OUTENOIN2ADD-DIENIN1OUTENOIN2ADD-RENIN1OUTENOIN2執(zhí)行加法操作時(shí),將操作數(shù)IN2與OUT共用一個(gè)地址單元,因而在語(yǔ)句表中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í),將操作數(shù)IN1與OUT共用一個(gè)地址單元,因而語(yǔ)句表中OUT-IN2=OUT3.乘法指令*I IN1,OUT*D IN1,OUT*R IN1,OUTMUL-IENIN1OUTENOIN2MUL-DIENIN1OUTENOIN2MUL-RENIN1OUTENOIN2MUL IN1,OUTMULENIN1OUTENOIN2執(zhí)行乘法操作時(shí),將操作數(shù)IN2與OUT共用一個(gè)地址單元(整數(shù)完全乘法指令的IN2與OUT的低16位用的是同地址單元),因而語(yǔ)句表中IN1OUT=OUT整數(shù)完全乘法指令,把輸入端

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

7、2SM0.0VW10VD20VW2232bit的結(jié)果 16bit有符號(hào)整數(shù) IN1(16bit) IN2(16bit) =32(bit)結(jié)果)結(jié)果 (OUT) 其中高其中高16位是余數(shù),低位是余數(shù),低16位是商位是商 四則運(yùn)算舉例四則運(yùn)算舉例 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指令三、轉(zhuǎn)換指令三、轉(zhuǎn)換指令n1 1BCDBCD碼與整數(shù)的轉(zhuǎn)換碼與整數(shù)的轉(zhuǎn)換n2 2雙字整數(shù)與實(shí)數(shù)的轉(zhuǎn)換雙字整數(shù)與實(shí)數(shù)的轉(zhuǎn)換n3

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

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

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

12、002.54VD8四、移位指令四、移位指令和循環(huán)移位移位和循環(huán)移位指令均為無(wú)符號(hào)數(shù)操作。移位和循環(huán)移位指令均為無(wú)符號(hào)數(shù)操作。右移位指令,把輸入端(右移位指令,把輸入端(IN)指定的數(shù)據(jù)右移)指定的數(shù)據(jù)右移N位,結(jié)果存位,結(jié)果存入入OUT。(移位后的空位自動(dòng)補(bǔ)移位后的空位自動(dòng)補(bǔ)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í)際移動(dòng)位數(shù)ROR_BEN ENOINOUTNROR_WEN ENOINOUTNROR_DWEN ENOINOUTNRRB OUT,N RRW OUT,N RRD OUT,NVB1004VB100VW100VW100VD100VD1001210N若若大于或等于大于或等于8、16、32,那么在執(zhí)行循環(huán)移位前,先對(duì)N取以8、16、32為底的模,其結(jié)果其結(jié)果07、015、031為實(shí)際移動(dòng)位數(shù)。為實(shí)際移動(dòng)位數(shù)。 1110 0010 1010 1101VW200001 0101 0110 1000VW20移

14、位前移位后111溢出MW10MW101100 0000 0010 0001MW100111 0000 0000 1000MW10移位前移位后應(yīng)用舉例18段碼指令段碼指令nSEG指令將輸入的字節(jié)型數(shù)據(jù)低指令將輸入的字節(jié)型數(shù)據(jù)低4位位 (16#0F)轉(zhuǎn)換轉(zhuǎn)換成七段顯示碼,送入輸出端成七段顯示碼,送入輸出端七段顯示編碼aVB1005QB06DSEG0110 11010000 0101七、程序控制指令七、程序控制指令1有條件結(jié)束指令(有條件結(jié)束指令(END) p執(zhí)行條件成立時(shí)結(jié)束主程序返回主程序起點(diǎn)。執(zhí)行條件成立時(shí)結(jié)束主程序返回主程序起點(diǎn)。p條件結(jié)束指令用在無(wú)條件結(jié)束指令條件結(jié)束指令用在無(wú)條件結(jié)束指令

15、(MEND(MEND)之前。)之前。pMicro/WIN32Micro/WIN32自動(dòng)在主程序結(jié)束時(shí)加上一個(gè)無(wú)條件結(jié)束自動(dòng)在主程序結(jié)束時(shí)加上一個(gè)無(wú)條件結(jié)束指令指令MENDMEND。p條件結(jié)束指令不能在子程序或中斷程序中使用。條件結(jié)束指令不能在子程序或中斷程序中使用。2暫停指令(暫停指令(STOP)從運(yùn)行模式(從運(yùn)行模式(RUNRUN)進(jìn)入停止模式()進(jìn)入停止模式(STOPSTOP),立即終止程序的執(zhí)行),立即終止程序的執(zhí)行 3監(jiān)視定時(shí)器復(fù)位指令(監(jiān)視定時(shí)器復(fù)位指令(WDR)設(shè)置系統(tǒng)監(jiān)視定時(shí)器設(shè)置系統(tǒng)監(jiān)視定時(shí)器WTD,WTD,定時(shí)時(shí)間為定時(shí)時(shí)間為100100300ms,300ms,掃描到掃描到W

16、TDWTD時(shí),時(shí),WTDWTD將復(fù)位將復(fù)位正常工作時(shí):WTD及時(shí)復(fù)位;故障時(shí):不能復(fù)位,會(huì)報(bào)警并終止系統(tǒng)運(yùn)行;使用WDR指令:用戶程序長(zhǎng)執(zhí)行中斷程序的時(shí)間長(zhǎng)循環(huán)指令使掃描周期延長(zhǎng)4跳轉(zhuǎn)與標(biāo)號(hào)指令跳轉(zhuǎn)與標(biāo)號(hào)指令跳轉(zhuǎn)指令和相應(yīng)的標(biāo)號(hào)指令必須用在同一個(gè)程序段中 02555循環(huán)指令(For,Next)循環(huán)開始循環(huán)開始循環(huán)結(jié)束循環(huán)結(jié)束INDX:當(dāng)前循環(huán)次數(shù)計(jì)數(shù)器INIT:起始值FINAL:結(jié)束值FOR與NEXT必須成套使用舉例舉例 8 8個(gè)個(gè)1212位二進(jìn)制數(shù)位二進(jìn)制數(shù)存放在存放在VW10VW10開始的存開始的存儲(chǔ)區(qū)內(nèi),在儲(chǔ)區(qū)內(nèi),在I0.3I0.3的上的上升沿,用循環(huán)指令求升沿,用循環(huán)指令求平均值,并將

17、結(jié)果存平均值,并將結(jié)果存放在放在VW0VW0中。中。6子程序無(wú)參數(shù)帶參數(shù)調(diào)用子程序帶參數(shù)調(diào)用子程序主程序子程序局部變量表局部變量表注意注意在中斷程序和子程序中可以調(diào)用子程序主程序和子程序共用累加器子程序中的定時(shí)器在停止調(diào)用時(shí):100ms定時(shí)器將停止計(jì)時(shí),當(dāng)前值不變,重新調(diào)用時(shí)繼續(xù)計(jì)時(shí)1ms和10ms定時(shí)器將繼續(xù)定時(shí),定時(shí)時(shí)間到,位變?yōu)?,可以在子程序之外起作用子程序內(nèi)的定時(shí)器的位狀態(tài)保持不變例:當(dāng)例:當(dāng)I0.1I0.1為為ONON時(shí),定時(shí)器時(shí),定時(shí)器T32T32開始定時(shí),產(chǎn)生開始定時(shí),產(chǎn)生每秒每秒1 1次的周期脈沖。次的周期脈沖。T32T32每次定時(shí)時(shí)間到時(shí)調(diào)用每次定時(shí)時(shí)間到時(shí)調(diào)用一個(gè)子程序,

18、在子程序中將模擬量輸入一個(gè)子程序,在子程序中將模擬量輸入AIW0AIW0的值的值送入送入VW10VW10,設(shè)計(jì)主程序和子程序,設(shè)計(jì)主程序和子程序?qū)μ囟ǖ膬?nèi)部和外部事件作快速響應(yīng) 八、中斷指令 中斷程序不是由用戶程序調(diào)用,而是在中斷事件中斷程序不是由用戶程序調(diào)用,而是在中斷事件發(fā)生時(shí)由操作系統(tǒng)調(diào)用發(fā)生時(shí)由操作系統(tǒng)調(diào)用注意:注意:在中斷程序中不能改寫其他程序使用在中斷程序中不能改寫其他程序使用的存儲(chǔ)器,在中斷程序中可以調(diào)用一級(jí)子程序,的存儲(chǔ)器,在中斷程序中可以調(diào)用一級(jí)子程序,累加器和邏輯堆棧在中斷程序和被調(diào)用的子程累加器和邏輯堆棧在中斷程序和被調(diào)用的子程序中是公用的,序中是公用的,設(shè)計(jì)時(shí)應(yīng)設(shè)計(jì)時(shí)應(yīng)

19、“越短越好越短越好”(一)全局中斷允許、全局中斷禁止指令 LD SM0.1ENILD SM5.0DTCH 0LD M5.0DISIATCH INT4,0INT_40ATCHENINTEVNTENODTCHENEVNTENO0SM0.1M5.0DISIENISM5.0MAIN PROGRAM OB1LD SM5.0CRETIRETIINTERRUPT 4SM5.0全局地允許全局地允許所有被連接所有被連接的中斷事件的中斷事件 全局地禁止全局地禁止處理所有中處理所有中斷事件斷事件 pCPUCPU進(jìn)入進(jìn)入 RUN RUN 模式時(shí)模式時(shí)自動(dòng)禁止了中斷。自動(dòng)禁止了中斷。p在在RUNRUN模式執(zhí)行全局模式執(zhí)

20、行全局中斷允許指令(中斷允許指令(ENIENI)后,允許所有中斷。后,允許所有中斷。 (一)中斷連接指令 與與 中斷事件中斷事件 LD SM0.1ENILD SM5.0DTCH 0LD M5.0DISIATCH INT4,0INT_40ATCHENINTEVNTENODTCHENEVNTENO0SM0.1M5.0DISIENISM5.0MAIN PROGRAM OB1LD SM5.0CRETIRETIINTERRUPT 4SM5.0用來(lái)建立某個(gè)中斷事用來(lái)建立某個(gè)中斷事件(件(EVNTEVNT)和某個(gè)中斷)和某個(gè)中斷程序(程序(INTINT)之間的聯(lián))之間的聯(lián)系。系。該中斷事件發(fā)生時(shí)執(zhí)該中斷事件

21、發(fā)生時(shí)執(zhí)行相關(guān)的中斷程序行相關(guān)的中斷程序 中斷事件號(hào)事件號(hào) 中斷描述 優(yōu)先組 優(yōu)先組中的 優(yōu)先級(jí) 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 下降沿 6 3 10.1 下降沿 7 5 10.2 下降沿 8 7 10.3 下降沿 9

22、12 HSC0 CV=PV(當(dāng)前值=設(shè)定值) 10 7 10.3 下降沿 9 12 HSC0 CV=PV(當(dāng)前值=設(shè)定值) 10 27 HSC0 輸入方向改變 11 28 HSC0 外部復(fù)位 12 13 HSC1 CV=PV(當(dāng)前值=設(shè)定值) 13 14 HSC1 輸入方向改變 14 15 HSC1 外部復(fù)位 15 16 HSC2 CV=PV(當(dāng)前值=設(shè)定值) 16 17 HSC2 輸入方向改變 17 18 HSC2 外部復(fù)位 18 32 HSC3 CV=PV(當(dāng)前值 = 設(shè)定值) 19 29 HSC4 CV=PV(當(dāng)前值 = 設(shè)定值) 20 30 HSC4 輸入方向改變 21 31 HSC4

23、 外部復(fù)位 22 33 HSC5 CV=PV(當(dāng)前值 = 設(shè)定值) I/O(中等) 23 10 定時(shí)中斷 0 0 11 定時(shí)中斷 1 1 21 定時(shí)器 T32 CT = PT 中斷 2 22 定時(shí)器 T96 CT = PT 中斷 定時(shí)(最低) 3 中斷事件 中斷程序多個(gè)中斷事件可調(diào)用同一個(gè)中斷程序 LD SM0.1ENILD SM5.0DTCH 0LD M5.0DISIATCH INT4,0INT_40ATCHENINTEVNTENODTCHENEVNTENO0SM0.1M5.0DISIENISM5.0MAIN PROGRAM OB1LD SM5.0CRETIRETIINTERRUPT 4SM

24、5.0一個(gè)中斷事件不能同時(shí)與多個(gè)中斷程序建立連接,否則,系統(tǒng)默認(rèn)執(zhí)行這些中斷程序中的最后一個(gè)。(一)中斷分離指令 LD SM0.1ENILD SM5.0DTCH 0LD M5.0DISIATCH INT4,0INT_40ATCHENINTEVNTENODTCHENEVNTENO0SM0.1M5.0DISIENISM5.0MAIN PROGRAM OB1LD SM5.0CRETIRETIINTERRUPT 4SM5.0截?cái)嗄持袛嗍录椭薪財(cái)嗄持袛嗍录椭袛喑绦蛑g的聯(lián)系斷程序之間的聯(lián)系單獨(dú)單獨(dú)禁止某中斷事件禁止某中斷事件 (三) 中斷返回指令 LD SM0.1ENILD SM5.0DTCH 0L

25、D M5.0DISIATCH INT4,0INT_40ATCHENINTEVNTENODTCHENEVNTENO0SM0.1M5.0DISIENISM5.0MAIN PROGRAM OB1LD SM5.0CRETIRETIINTERRUPT 4SM5.0有條件中斷返回指有條件中斷返回指令令(CRETICRETI),根,根據(jù)控制的條件從中據(jù)控制的條件從中斷程序中返回到主斷程序中返回到主程序程序 LD SM0.1ENILD SM5.0DTCH 0LD M5.0DISIATCH INT4,0INT_40ATCHENINTEVNTENODTCHENEVNTENO0SM0.1M5.0DISIENISM5

26、.0MAIN PROGRAM OB1LD SM5.0CRETIRETIINTERRUPT 4SM5.0中斷程序中中斷程序中不能使用不能使用:n全局中斷禁止指令全局中斷禁止指令DISIn全局中斷允許指令全局中斷允許指令ENIn高速計(jì)數(shù)器指令高速計(jì)數(shù)器指令HDEFn順序控制繼電器指令順序控制繼電器指令LSCRn有條件結(jié)束指令有條件結(jié)束指令END。(四) 中斷的分類 n通訊口中斷通訊口中斷 nI/O中斷中斷 n時(shí)基中斷時(shí)基中斷 1.通信口中斷事件號(hào) 中斷描述 優(yōu)先組 優(yōu)先組中的 優(yōu)先級(jí) 8 通信口0:接收字符 0 9 通信口0:發(fā)送信息完成 0 23 通信口0:接收信息完成 0 24 通信口1:接收

27、信息完成 1 25 通信口1:接收字符 1 26 通信口1:發(fā)送信息完成 通信(最高) 1 19 PTO 0 完成脈沖數(shù)輸出 0 利用接受和發(fā)送中斷來(lái)簡(jiǎn)化程序?qū)νㄐ诺目刂评媒邮芎桶l(fā)送中斷來(lái)簡(jiǎn)化程序?qū)νㄐ诺目刂?.I/O中斷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(當(dāng)前值=設(shè)定值) 10 7

28、10.3 下降沿 9 12 HSC0 CV=PV(當(dāng)前值=設(shè)定值) 10 27 HSC0 輸入方向改變 11 28 HSC0 外部復(fù)位 12 13 HSC1 CV=PV(當(dāng)前值=設(shè)定值) 13 14 HSC1 輸入方向改變 14 15 HSC1 外部復(fù)位 15 16 HSC2 CV=PV(當(dāng)前值=設(shè)定值) 16 17 HSC2 輸入方向改變 17 18 HSC2 外部復(fù)位 18 32 HSC3 CV=PV(當(dāng)前值 = 設(shè)定值) 19 29 HSC4 CV=PV(當(dāng)前值 = 設(shè)定值) 20 30 HSC4 輸入方向改變 21 31 HSC4 外部復(fù)位 22 33 HSC5 CV=PV(當(dāng)前值 =

29、 設(shè)定值) I/O(中等) 23 10 定時(shí)中斷 0 0 3.時(shí)基中斷:n定時(shí)中斷n定時(shí)器中斷定時(shí)中斷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定時(shí)采集模擬量輸入值按指定的周期按指定的周期時(shí)間循環(huán)執(zhí)行時(shí)間循

30、環(huán)執(zhí)行當(dāng)定時(shí)中斷設(shè)定的當(dāng)定時(shí)中斷設(shè)定的周期時(shí)間到,定時(shí)周期時(shí)間到,定時(shí)中斷事件把控制權(quán)中斷事件把控制權(quán)交給相應(yīng)的中斷程序。交給相應(yīng)的中斷程序。定時(shí)中斷一旦被允許,定時(shí)中斷一旦被允許,就會(huì)按指定的時(shí)間間就會(huì)按指定的時(shí)間間隔反復(fù)執(zhí)行被連接隔反復(fù)執(zhí)行被連接的中程序的中程序定時(shí)中斷的周期時(shí)間n定時(shí)中斷定時(shí)中斷0/1的周期時(shí)間的周期時(shí)間 SMB34/35n改變周期時(shí)間:修改改變周期時(shí)間:修改SMB34/35中的值,必須重新建立中的值,必須重新建立中斷程序與定時(shí)中斷事件的連接。中斷程序與定時(shí)中斷事件的連接。周期時(shí)間:周期時(shí)間:1 1255ms255ms周期增量:周期增量:1ms1ms定時(shí)中斷的應(yīng)用n常用定

31、時(shí)中斷以固定的時(shí)間間隔去控制模擬量的采集和執(zhí)行PID回路程序。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定時(shí)采集模擬量輸入值ENSBR_0ENMOV_BENINENOOUTSMB34INT_010ATCHE

32、NINTEVNTENOSM0.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定時(shí)采集模擬量輸入值定時(shí)器中斷n使用1ms分辨率的定時(shí)器T32和T96當(dāng)中斷被允許,定時(shí)器的當(dāng)前值等于設(shè)定值時(shí),當(dāng)中斷被允許,定時(shí)器的當(dāng)前值等于設(shè)定值時(shí),在在CPU的的1ms定時(shí)刷新中,執(zhí)行被鏈接的中斷程序定時(shí)刷新中,執(zhí)行被鏈接的中斷程序(五)中

33、斷優(yōu)先級(jí) n通訊通訊(最高)nI/O中斷中斷(中等)n時(shí)基中斷時(shí)基中斷(最低)中斷指令舉例例:用定時(shí)中斷0,每100ms將VB0加1,VB0到100時(shí)關(guān)閉定時(shí)中斷,并將Q0.0置1,設(shè)計(jì)主程序和中斷程序九、PID回路指令 用PLC實(shí)現(xiàn)模擬量閉環(huán)控制系統(tǒng)PLCc(t)M(t)SP(n)e(n)M(n)PV(n)PV(t)模擬量輸入端子(一)PID算法 PID控制器調(diào)節(jié)回路輸出。為使系統(tǒng)達(dá)到穩(wěn)定狀態(tài),應(yīng)讓偏差(e)趨于零。 dtdeKMedtKeKtMcinitialtcc/)( 0 偏差(偏差(e e)= = 給定值(給定值(SPSP)過(guò)程變量()過(guò)程變量(PVPV)PID控制器的輸出量控制器的

34、輸出量M(t):比例項(xiàng)比例項(xiàng)積分項(xiàng)積分項(xiàng)初始值初始值微分項(xiàng)微分項(xiàng)隨時(shí)間t連續(xù)變化的模擬量PID回路的增益回路的增益將連續(xù)函數(shù)離散化 )(11nnDinitialniiInCneeKMeKeKMdtdeKMedtKeKtMcinitialtcc/)( 0 Mn在第在第n采樣時(shí)刻采樣時(shí)刻PID回路輸出的計(jì)算值;回路輸出的計(jì)算值;en在第在第n次采樣時(shí)刻的偏差值;次采樣時(shí)刻的偏差值;en-1在第在第n-1采樣時(shí)刻的偏差值(偏差前值);采樣時(shí)刻的偏差值(偏差前值);KI積分項(xiàng)的系數(shù);積分項(xiàng)的系數(shù);KD微分項(xiàng)的系數(shù);微分項(xiàng)的系數(shù);)(1nnDnInCneeKMXeKeKMnnnnMDMIMPM)(11n

35、nDinitialniiInCneeKMeKeKM計(jì)算中,只需保留積分項(xiàng)前值(計(jì)算中,只需保留積分項(xiàng)前值(MX),即),即: :從第一個(gè)采樣周期到當(dāng)前采樣周期的所有誤差的累積值從第一個(gè)采樣周期到當(dāng)前采樣周期的所有誤差的累積值將連續(xù)函數(shù)離散化 比例項(xiàng)、積分項(xiàng)、微分項(xiàng)n比例項(xiàng)比例項(xiàng) MPn=KC (SPn-PVn-)n積分項(xiàng)積分項(xiàng) MIn= KCTS / TI (SPn-PVn)+MXnn微分項(xiàng)微分項(xiàng) MDn=KCTD / TS(PVn-1-PVn)nnnnMDMIMPM9個(gè)參數(shù)個(gè)參數(shù)KIKD進(jìn)行PID運(yùn)算的9個(gè)參數(shù):n過(guò)程變量當(dāng)前值過(guò)程變量當(dāng)前值 PVnn給定值給定值 SPnn增益增益 KC n

36、采樣時(shí)間采樣時(shí)間 TS n積分時(shí)間積分時(shí)間 TIn微分時(shí)間微分時(shí)間 TDn積分項(xiàng)前值積分項(xiàng)前值 MX n過(guò)程變量前值過(guò)程變量前值 PVn-1 n輸出值輸出值 Mn(二)PID回路指令 nPID回路指令運(yùn)用回路表中的輸入信息和組態(tài)信息,進(jìn)行PID運(yùn)算,編程極其簡(jiǎn)便。(組態(tài)編程,即填表式編程) PIDENTBLLOOPENOVB100I0.02回路回路號(hào)號(hào)0-70-7回路表的回路表的起始地址起始地址限用限用VBVB區(qū)區(qū)域域)PVPV()T/T(KMX)PVSP()T/T(K)PVSP(KMn1-nsdcnniscnncn偏移偏移地址地址變量名變量名數(shù)據(jù)數(shù)據(jù)類型類型變量類型變量類型描描 述述0 0過(guò)

37、程變量(過(guò)程變量(PVn)實(shí)數(shù)實(shí)數(shù)輸入輸入必須在必須在0.00.01.01.0之間之間4 4給定值(給定值(SPn)實(shí)數(shù)實(shí)數(shù)輸入輸入必須在必須在0.00.01.01.0之間之間8 8輸出值(輸出值(Mn)實(shí)數(shù)實(shí)數(shù)輸入輸入/ /輸出輸出必須在必須在0.00.01.01.0之間之間1212增益(增益(KC)實(shí)數(shù)實(shí)數(shù)輸入輸入比例常數(shù),可正可負(fù)比例常數(shù),可正可負(fù)1616采樣時(shí)間(采樣時(shí)間(TS)實(shí)數(shù)實(shí)數(shù)輸入輸入單位為秒,須是正數(shù)單位為秒,須是正數(shù)2020積分時(shí)間(積分時(shí)間(TI)實(shí)數(shù)實(shí)數(shù)輸入輸入單位為分鐘,須是正數(shù)單位為分鐘,須是正數(shù)2424微分時(shí)間(微分時(shí)間(TD)實(shí)數(shù)實(shí)數(shù)輸入輸入單位為分鐘,須是正

38、數(shù)單位為分鐘,須是正數(shù)2828積分項(xiàng)前值(積分項(xiàng)前值(MX)實(shí)數(shù)實(shí)數(shù)輸入輸入/ /輸出輸出必須在必須在0.00.01.01.0之間之間3232過(guò)程變量前值(過(guò)程變量前值(PVn-1)實(shí)數(shù)實(shí)數(shù)輸入輸入/ /輸出輸出最近一次最近一次PIDPID運(yùn)算的過(guò)運(yùn)算的過(guò)程變量值,必須在程變量值,必須在0.00.01.01.0之間之間PIDENTBLLOOPTBL:回路表的起始地址限:回路表的起始地址限V區(qū)域(區(qū)域(byte)進(jìn)行進(jìn)行PIDPID運(yùn)算的前提條件運(yùn)算的前提條件n在程序中最多可以用8條PID指令n不可重復(fù)使用同一個(gè)回路號(hào)PIDENTBLLOOPENOVB100I0.02邏輯堆棧棧頂值必須為11周期

39、地進(jìn)行PID運(yùn)算n以一定的采樣頻率進(jìn)行PID運(yùn)算nPIDPID指令編入定時(shí)發(fā)生的中斷程序中指令編入定時(shí)發(fā)生的中斷程序中n或在主程序中由定時(shí)器控制或在主程序中由定時(shí)器控制PIDPID指令的指令的執(zhí)行頻率執(zhí)行頻率 (三)控制方式 當(dāng)允許輸入端(當(dāng)允許輸入端(ENEN)檢測(cè)到一個(gè))檢測(cè)到一個(gè)正跳變信號(hào),信號(hào),PIDPID回路就從手動(dòng)方式回路就從手動(dòng)方式無(wú)擾動(dòng)地切換到自動(dòng)方式。切換到自動(dòng)方式。PIDENTBLLOOPENOVB1002I0.1自動(dòng)自動(dòng)手動(dòng)手動(dòng)切換時(shí)將參數(shù)Mn、SPn、PVn-1、MX先后填入回路表,完成回路表的組態(tài)編程(四)回路輸入輸出變量的數(shù)值轉(zhuǎn)換(四)回路輸入輸出變量的數(shù)值轉(zhuǎn)換 n

40、回路輸入變量的轉(zhuǎn)換和標(biāo)準(zhǔn)化回路輸入變量的轉(zhuǎn)換和標(biāo)準(zhǔn)化 n回路輸出變量的數(shù)據(jù)轉(zhuǎn)換回路輸出變量的數(shù)據(jù)轉(zhuǎn)換 模擬量輸入端子1回路輸入變量的轉(zhuǎn)換和標(biāo)準(zhǔn)化 執(zhí)行PID指令前必須把給定值和過(guò)程變量轉(zhuǎn)換成標(biāo)準(zhǔn)的浮點(diǎn)型實(shí)數(shù)。 AIW0PV(t)PV(n)SP(n)將過(guò)程變量將過(guò)程變量PVn 輸入值標(biāo)準(zhǔn)化為(輸入值標(biāo)準(zhǔn)化為(0.01.0)的實(shí)數(shù),)的實(shí)數(shù),填入表中(填入表中(VD100):): INT REAL (0.01.0)模擬量AIW*數(shù)字量(1)回路輸入變量的數(shù)據(jù)轉(zhuǎn)換INT REAL 以單極性為例2回路輸出變量的數(shù)據(jù)轉(zhuǎn)換回路輸出變量的數(shù)據(jù)轉(zhuǎn)換 nPID運(yùn)算的輸出值是0.01.0之間的標(biāo)準(zhǔn)化了的實(shí)數(shù)值。n

41、在輸出變量傳送給D/A模擬量單元之前,必須把回路輸出變量轉(zhuǎn)換成相應(yīng)的16位整數(shù),從AQW送出去。pv(t)pv(n)Sp(n)M(n)M(t)是實(shí)數(shù)值標(biāo)準(zhǔn)化的逆過(guò)程:是實(shí)數(shù)值標(biāo)準(zhǔn)化的逆過(guò)程: 標(biāo)準(zhǔn)化的實(shí)數(shù)值(標(biāo)準(zhǔn)化的實(shí)數(shù)值(0.01.0)REAL INT將實(shí)數(shù)轉(zhuǎn)換為16位整數(shù)(INT) REAL INT D/A以單極性為例n(五)變量和范圍(五)變量和范圍n(六)選擇回路控制類型(六)選擇回路控制類型n(七)出錯(cuò)條件(七)出錯(cuò)條件(八)(八)PID指令編程舉例指令編程舉例 n水箱由水泵供水水箱由水泵供水 n維持水箱的水位(維持水箱的水位( 0.750.75)n控制水泵速度控制水泵速度 0.75

42、維持0.75水位變化的速度v變化的速度v分分 析析n給定值是水箱滿水位的是水箱滿水位的75%時(shí)的水位時(shí)的水位 (0.75)n過(guò)程變量由水位測(cè)量?jī)x(由水位測(cè)量?jī)x(A/D)提供提供 (單極性)單極性)n輸出值用來(lái)控制用來(lái)控制水泵的速度水泵的速度是最大允許值的是最大允許值的 0%100%(0.01.0) (單極性)單極性)選擇比例和積分控制選擇比例和積分控制n其回路增益和時(shí)間常數(shù)可以通過(guò)其回路增益和時(shí)間常數(shù)可以通過(guò) 工程計(jì)算初步確定。工程計(jì)算初步確定。n進(jìn)一步調(diào)整以達(dá)到最優(yōu)控制效果。進(jìn)一步調(diào)整以達(dá)到最優(yōu)控制效果。n初步確定的回路增益和時(shí)間常數(shù):初步確定的回路增益和時(shí)間常數(shù): KC=0.25 TS=0

43、.1秒, TI=30分鐘 TD=0。手動(dòng)方式n啟動(dòng)時(shí)關(guān)閉出水口啟動(dòng)時(shí)關(guān)閉出水口n用手動(dòng)方式控制水泵速度用手動(dòng)方式控制水泵速度n使水位達(dá)到滿水位的使水位達(dá)到滿水位的75%0.75手動(dòng)方式手動(dòng)方式 自動(dòng)方式自動(dòng)方式圖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.25VD

44、112MOV_RENINOUTENO0.1VD116MOV_RENINOUTENO30.0VD120MOV_RENINOUTENO0.0VD124MOV_RENINOUTENO100SMB34INT_010ATCHENINTEVNTENOSM0.0MOV_RENII_DIENINOUTENOAIW0SM0.0AC0DI_RENINOUTENOAC0AC0MOV_RENINOUTENOAC0VD100AC032000.0DIV_RENIN1IN2ENOVB1000PIDENTBLLOOPENOAC0OUTI0.0MOV_RENINOUTENOVD108AC0VD10832000.0MUL_REN

45、IN1IN2ENOAC0OUTROUNDENINOUTENOAC0AC0MOV_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 INT0,10調(diào)用初始化子程序裝入設(shè)定值75%裝入回路增益0.25裝入采樣時(shí)間0.1s裝入積分時(shí)間30分關(guān)閉微分作用設(shè)定定時(shí)中斷0的時(shí)間間隔為

46、100ms設(shè)置定時(shí)中斷以執(zhí)行PID指令允許中斷把模擬量輸入寄存器的值(單極性)存入AC032位雙整數(shù)轉(zhuǎn)換為實(shí)數(shù)標(biāo)準(zhǔn)化AC0中的值將AC0中的值存入回路表VD100在自動(dòng)方式下執(zhí)行PID指令把輸出值送到AC0將AC0中的值刻度化將實(shí)數(shù)轉(zhuǎn)換為32位雙整數(shù)將雙整數(shù)轉(zhuǎn)換為16位整數(shù)將整數(shù)值寫到模擬量輸出寄存器控制開關(guān)n自動(dòng)方式:n打開出水口,n合上控制開關(guān)(I0.0)n水泵控制從手動(dòng)方式切換到自動(dòng)方式(無(wú)擾動(dòng)切換)0.75給定值給定值增益增益采樣時(shí)間采樣時(shí)間微分時(shí)間微分時(shí)間積分時(shí)間積分時(shí)間INT_0MAIN圖5-81INT0SBR0MAINMOVR 0.25,VD112MOVR 30.0,VD120M

47、OVB 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_RENINOUTENO100SMB34INT_010ATCHENINTEVNTENOSM0.0MOV_RENII_DIENINOUTENOAIW0SM0

48、.0AC0DI_RENINOUTENOAC0AC0MOV_RENINOUTENOAC0VD100AC032000.0DIV_RENIN1IN2ENOVB1000PIDENTBLLOOPENOAC0OUTI0.0MOV_RENINOUTENOVD108AC0VD10832000.0MUL_RENIN1IN2ENOAC0OUTROUNDENINOUTENOAC0AC0MOV_WENINOUTENOAC0AQW0DI_IENINOUTENOAC0AC0SM0.0LD SM0.1CALL SBR0LD SM0.0MOVR 0.75,VD104MOVR 0.1,VD116MOVR 0.0,VD124EN

49、ILD SM0.0ITD AIW0,AC0DTR AC0,AC0LD I0.0PID VB100,0LD SM0.0ROUND AC0,AC0ATCR INT0,10調(diào)用初始化子程序裝入設(shè)定值75%裝入回路增益0.25裝入采樣時(shí)間0.1s裝入積分時(shí)間30分關(guān)閉微分作用設(shè)定定時(shí)中斷0的時(shí)間間隔為100ms設(shè)置定時(shí)中斷以執(zhí)行PID指令允許中斷把模擬量輸入寄存器的值(單極性)存入AC032位雙整數(shù)轉(zhuǎn)換為實(shí)數(shù)標(biāo)準(zhǔn)化AC0中的值將AC0中的值存入回路表VD100在自動(dòng)方式下執(zhí)行PID指令把輸出值送到AC0將AC0中的值刻度化將實(shí)數(shù)轉(zhuǎn)換為32位雙整數(shù)將雙整數(shù)轉(zhuǎn)換為16位整數(shù)將整數(shù)值寫到模擬量輸出寄存器圖5

50、-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_RENINOUTENO100SMB34INT_010ATCH

51、ENINTEVNTENOSM0.0MOV_RENII_DIENINOUTENOAIW0SM0.0AC0DI_RENINOUTENOAC0AC0MOV_RENINOUTENOAC0VD100AC032000.0DIV_RENIN1IN2ENOVB1000PIDENTBLLOOPENOAC0OUTI0.0MOV_RENINOUTENOVD108AC0VD10832000.0MUL_RENIN1IN2ENOAC0OUTROUNDENINOUTENOAC0AC0MOV_WENINOUTENOAC0AQW0DI_IENINOUTENOAC0AC0SM0.0LD SM0.1CALL SBR0LD SM0.

52、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調(diào)用初始化子程序裝入設(shè)定值75%裝入回路增益0.25裝入采樣時(shí)間0.1s裝入積分時(shí)間30分關(guān)閉微分作用設(shè)定定時(shí)中斷0的時(shí)間間隔為100ms設(shè)置定時(shí)中斷以執(zhí)行PID指令允許中斷把模擬量輸入寄存器的值(單極性)存入AC032位雙整數(shù)轉(zhuǎn)換為實(shí)數(shù)標(biāo)準(zhǔn)化AC0中的值將AC0中的值存入回路表VD100在自動(dòng)方式下執(zhí)行PID指令把輸出值送到AC0將AC0

53、中的值刻度化將實(shí)數(shù)轉(zhuǎn)換為32位雙整數(shù)將雙整數(shù)轉(zhuǎn)換為16位整數(shù)將整數(shù)值寫到模擬量輸出寄存器圖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_RENINOU

54、TENO0.0VD124MOV_RENINOUTENO100SMB34INT_010ATCHENINTEVNTENOSM0.0MOV_RENII_DIENINOUTENOAIW0SM0.0AC0DI_RENINOUTENOAC0AC0MOV_RENINOUTENOAC0VD100AC032000.0DIV_RENIN1IN2ENOVB1000PIDENTBLLOOPENOAC0OUTI0.0MOV_RENINOUTENOVD108AC0VD10832000.0MUL_RENIN1IN2ENOAC0OUTROUNDENINOUTENOAC0AC0MOV_WENINOUTENOAC0AQW0DI_

55、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 INT0,10調(diào)用初始化子程序裝入設(shè)定值75%裝入回路增益0.25裝入采樣時(shí)間0.1s裝入積分時(shí)間30分關(guān)閉微分作用設(shè)定定時(shí)中斷0的時(shí)間間隔為100ms設(shè)置定時(shí)中斷以執(zhí)行PID指令允許中斷把模擬量輸入寄存器的值(單極性)存入AC032位雙整數(shù)轉(zhuǎn)換為實(shí)數(shù)標(biāo)準(zhǔn)化AC0

56、中的值將AC0中的值存入回路表VD100在自動(dòng)方式下執(zhí)行PID指令把輸出值送到AC0將AC0中的值刻度化將實(shí)數(shù)轉(zhuǎn)換為32位雙整數(shù)將雙整數(shù)轉(zhuǎn)換為16位整數(shù)將整數(shù)值寫到模擬量輸出寄存器調(diào)用初始化子程序SBR_0nSPnnKCnTSnTInTD圖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_REN

57、INOUTENO0.25VD112MOV_RENINOUTENO0.1VD116MOV_RENINOUTENO30.0VD120MOV_RENINOUTENO0.0VD124MOV_RENINOUTENO100SMB34INT_010ATCHENINTEVNTENOSM0.0MOV_RENII_DIENINOUTENOAIW0SM0.0AC0DI_RENINOUTENOAC0AC0MOV_RENINOUTENOAC0VD100AC032000.0DIV_RENIN1IN2ENOVB1000PIDENTBLLOOPENOAC0OUTI0.0MOV_RENINOUTENOVD108AC0VD108

58、32000.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 INT0,10調(diào)用初始化子程序裝入設(shè)定值75%裝入回路增益0.25裝入采樣時(shí)間0.1s裝入積分時(shí)間30分關(guān)閉微分作

59、用設(shè)定定時(shí)中斷0的時(shí)間間隔為100ms設(shè)置定時(shí)中斷以執(zhí)行PID指令允許中斷把模擬量輸入寄存器的值(單極性)存入AC032位雙整數(shù)轉(zhuǎn)換為實(shí)數(shù)標(biāo)準(zhǔn)化AC0中的值將AC0中的值存入回路表VD100在自動(dòng)方式下執(zhí)行PID指令把輸出值送到AC0將AC0中的值刻度化將實(shí)數(shù)轉(zhuǎn)換為32位雙整數(shù)將雙整數(shù)轉(zhuǎn)換為16位整數(shù)將整數(shù)值寫到模擬量輸出寄存器填入5個(gè)參數(shù),設(shè)置定時(shí)中斷INT_0圖5-81INT0SBR0MAINMOVR 0.25,VD112MOVR 30.0,VD120MOVB 100,SMB34/R 32000.0,AC0MOVR AC0,VD100MOVR VD108,AC0*R 32000.0,AC0

60、DTI AC0,AC0MOVW AC0,AQW0ENSBR_0ENSM0.1ENINOUTENO0.75VD104MOV_RENINOUTENO0.25VD112MOV_RENINOUTENO0.1VD116MOV_RENINOUTENO30.0VD120MOV_RENINOUTENO0.0VD124MOV_RENINOUTENO100SMB34INT_010ATCHENINTEVNTENOSM0.0MOV_RENII_DIENINOUTENOAIW0SM0.0AC0DI_RENINOUTENOAC0AC0MOV_RENINOUTENOAC0VD100AC032000.0DIV_RENIN1I

溫馨提示

  • 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)論