資源描述:
《高速計(jì)數(shù)和高速定位》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第九章高速計(jì)數(shù)和高速定位一、中斷處理程序在PLC中,cpu在處理事情的時(shí)候被某件事情打斷繼而轉(zhuǎn)到中斷服務(wù)程序中去執(zhí)行如:我們正在寫文字,結(jié)果來了個(gè)電話,這時(shí)候我們中斷寫文字,先接電話,接完電話后,繼續(xù)我們的文字工作,這就是一個(gè)中斷過程1、什么是中斷2、中斷的說明(1)中斷事件不止一個(gè),因此有中斷事件號(hào)區(qū)分。(2)和普通子程序一樣,中斷程序可以有很多個(gè)。(3)中斷完成后返回到主程序的執(zhí)行中。二、中斷信號(hào)分類及中斷編寫的步驟1、分類(1)外部輸入中斷(2)內(nèi)部定時(shí)器中斷(3)高速計(jì)數(shù)器中斷2、中斷編寫的步驟(1)開放中斷,使用EI指令(2
2、)連接號(hào)中斷指針和中斷子程序(3)編寫中斷子程序(4)中斷子程序返回主程序中斷程序中斷指針3、程序案例:三、外部中斷1、外部中斷說明表FX系列plc有6個(gè)外部輸入中斷端子,總共可以產(chǎn)生12個(gè)中斷信號(hào)。中斷端子號(hào)中斷指針號(hào)禁止中斷輔助繼電器上升沿中斷下降沿中斷X000I001I000M8050X001I101I100M8051X002I201I200M8052X003I301I300M8053X004I401I400M8054X005I501I500M80552、中斷指針號(hào)的意義:上升沿中斷為:1下降沿中斷為:0數(shù)字0-5分別對(duì)應(yīng)X000-
3、X005I0例如:當(dāng)X0001輸入端子有上升沿信號(hào)來時(shí),產(chǎn)生中斷,置位輸出Y0,程序如下:程序案例(如何使用外部中斷)中斷禁止輔助繼電器,m8050-m8055主要是對(duì)應(yīng)地控制X0-X5輸入端子中斷信號(hào)的通斷。當(dāng)中斷禁止輔助繼電器狀態(tài)為1時(shí),禁止想象的輸入端子中斷信號(hào)。例如,當(dāng)m8050=1時(shí),X0的中斷信號(hào)失效這一般應(yīng)用來關(guān)掉部分不適用中斷的輸入端子,以免因?yàn)橹袛喽a(chǎn)生的誤操作。注意:EI指令時(shí)全局開中斷,也就是說,一執(zhí)行EI指令,所有的中斷都會(huì)開放。如果對(duì)于一部分中斷信號(hào)我們不需要,我們可以使用相應(yīng)的終端進(jìn)制輔助繼電器來禁止。3、外部
4、中斷禁止輔助繼電器初始化禁止X1-X5輸入中斷信號(hào)開放中斷(全局)中斷子程序主程序結(jié)束中斷程序結(jié)束程序結(jié)束例如:我們只需要X000輸入中斷信號(hào),其它中斷輸入端子的中斷信號(hào)禁止程序案例(中斷禁止繼電器的使用)1、中斷程序的調(diào)用使用的是中斷指針,而子程序調(diào)用需要用CALL指令來調(diào)用。2、只要一產(chǎn)生中斷信號(hào),PLC就立即先去執(zhí)行相應(yīng)的中斷子程序,而子程序的執(zhí)行則需要PLC掃描至調(diào)用子程序指令后才會(huì)執(zhí)行相應(yīng)的子程序,因而看出,中斷程序的實(shí)時(shí)響應(yīng)速度要比子程序快。3、子程序返回用SRET,中斷程序返回用IRET.4、中斷與子程序的區(qū)別四、內(nèi)部定時(shí)中
5、斷三菱FX系列PLC有3個(gè)定時(shí)中斷,詳細(xì)請(qǐng)看下:中斷指針號(hào)中斷周期(ms)禁止中斷輔助繼電器I6在指針的口口部分,輸入10-99的整數(shù),代表10-99ms的時(shí)間,例如:I611代表的是每11ms調(diào)用一次該中斷M8056I7M5057I8M80581、內(nèi)部定時(shí)中斷表2、定時(shí)中斷指針號(hào)的意義:I定時(shí)中斷時(shí)間,范圍為:10-99ms有3個(gè)定時(shí)中斷,分別為6、7、8前面我們學(xué)習(xí)過定時(shí)器,知道定時(shí)器也是可以進(jìn)行定時(shí)的,那定時(shí)中斷和定時(shí)器有什么樣的區(qū)別呢?我們知道定時(shí)器是通過掃描的方式來執(zhí)行時(shí)間的定時(shí)的,而PLC的掃描是需要時(shí)間的意思就是說,前面我們
6、學(xué)習(xí)的定時(shí)器,在時(shí)間上并不是百分百的精準(zhǔn)時(shí)間,而是要存在大約一個(gè)掃描周期的誤差的!?。∧俏覀?cè)趯?duì)時(shí)間要求很嚴(yán)格的時(shí)候怎么辦?那就需要使用定時(shí)中斷來實(shí)現(xiàn)。例如,我們定義了一個(gè)I615的定時(shí)中斷,那PLC從進(jìn)入運(yùn)行狀態(tài)開始,每一個(gè)15ms的時(shí)間都會(huì)去執(zhí)行中斷子程序一次,和PLC的掃描時(shí)間無關(guān)。3、為何要使用內(nèi)部定時(shí)中斷:獲取高精度定時(shí)時(shí)間例:使用定時(shí)中斷來實(shí)現(xiàn)精準(zhǔn)的小燈亮滅實(shí)驗(yàn),PLC一運(yùn)行,Y0就亮80ms,滅80ms的速度,閃爍PLC一運(yùn)行,Y0點(diǎn)亮每次執(zhí)行一次時(shí)間中斷,計(jì)一次數(shù)奇數(shù)次復(fù)位偶數(shù)次置位4、內(nèi)部定時(shí)器中斷的程序案例5、輸入輸出
7、刷新指令REF:達(dá)到高速的輸入輸出效果輸入輸出刷新指令是什么用的的呢?一盤PLC對(duì)輸入輸出端子的掃描刷新是批量掃描輸出的,也就是說在程序的第0步運(yùn)算前,會(huì)批量把所有的輸入端子的狀態(tài),掃描至映象寄存器里,在程序的END指令指令執(zhí)行之后,再所有的輸出映像寄存器通過鎖存存儲(chǔ)器輸出那這樣的話實(shí)際的物理端子輸出和程序里執(zhí)行情況是要相差一個(gè)掃描周期左右的時(shí)間,但在我們實(shí)際應(yīng)用的,有些情況下是要求輸出端子立馬要響應(yīng)輸出時(shí)怎么辦?指令格式:REF(D.)(N.)D:需要刷新輸入或輸出點(diǎn)起始位N:需要刷新輸出的位數(shù),一般是8的倍數(shù)REFY0K8(刷新輸出口
8、Y0-Y7)從上面的程序我們看到,外部X1端子上升沿中斷產(chǎn)生后,調(diào)用中斷子程序,執(zhí)行置位Y0動(dòng)作,然后返回。注意:程序里的置位僅僅只是對(duì)映像寄存器進(jìn)行置1的動(dòng)作,輸出端子要輸出,必須要等到執(zhí)行