咨詢(xún)中斷的問(wèn)題 hnwhlk(2010/9/6 16:09:23) 點(diǎn)擊:
21862 回復(fù):
17 IP:
117.69.50.* 何老師及各位老師:我最近的項(xiàng)目要用到外部中斷。可是遇到的問(wèn)題如下:
我用的PLC是10MC機(jī)型。 我的工況是:機(jī)器大約2秒轉(zhuǎn)動(dòng)一周,產(chǎn)生一個(gè)位置到達(dá)信號(hào),接入PLC的X1點(diǎn)。
因?yàn)樵谖业闹鞒绦蛑?,用作其它功能例如幾只機(jī)器手的動(dòng)作等,其程序所占用的時(shí)間比較長(zhǎng),為了確保機(jī)器位置到達(dá)信號(hào)能及時(shí)準(zhǔn)確,我用到了外部中斷X1↑。
我在I/O組態(tài)里,將該點(diǎn)設(shè)定上升沿中斷。因?yàn)槊恳粋€(gè)中斷間隔時(shí)間很長(zhǎng)(遠(yuǎn)遠(yuǎn)大于中斷服務(wù)程序所占用的時(shí)間)按理,這個(gè)中斷服務(wù)程序應(yīng)該在每一個(gè)X1↑到來(lái)的時(shí)候,都進(jìn)入中斷程序??墒牵揖幍倪@個(gè)中斷程序只在系統(tǒng)啟動(dòng)后,第一個(gè)X1↑時(shí)執(zhí)行一次,以后無(wú)論多少個(gè)X1↑時(shí),中斷都不響應(yīng)。不知是什么原因,難道是我的MC的PLC有問(wèn)題。如果您能將我在附件中的模擬程序在機(jī)器上運(yùn)行一下,就很清楚了。它的接線非常簡(jiǎn)單,接上電源、并將24V一端按入S/S,另一端作為信號(hào)間斷地碰一下X1.請(qǐng)您告訴我應(yīng)該如何解決。謝謝您的幫助!祝好人永遠(yuǎn)快樂(lè)!
因?yàn)槲覜](méi)有權(quán)上傳文件。哪位老師肯給個(gè)郵箱,我把我編的中斷練習(xí)程序發(fā)過(guò)去。再次表示由衷的感謝!
.1. 回復(fù):咨詢(xún)中斷的問(wèn)題 劉建陽(yáng)(2010/9/6 19:51:40) IP:
125.124.5.* 是不是中斷發(fā)生之后,X1的狀態(tài)一直O(jiān)N呢?
可以在 LBL X1+I 里面對(duì)中斷次數(shù)進(jìn)行跟蹤累計(jì)
如
|----------------------------------------INC R0
就可知曉中斷是否只發(fā)生過(guò)一次。
.2. 回復(fù):咨詢(xún)中斷的問(wèn)題 hnwhlk(2010/9/6 22:47:38) IP:
58.253.219.* 何老師:您好!
我編的中斷模擬學(xué)習(xí)程序已經(jīng)發(fā)到您的郵箱。這個(gè)模擬我是在辦公室用一個(gè)開(kāi)關(guān),通過(guò)手動(dòng)開(kāi)、閉來(lái)模擬現(xiàn)場(chǎng)情況,因此不存在X1一直O(jiān)N的可能,可實(shí)際感覺(jué)就像是X1一直O(jiān)N。程序大致如下:
在主單元一:
M1
│───││──────T0
X1
│───│/│──────DIS X1+i
│─────────EN X1+I
│─────────END
在副單元一:
│─────────LIB X1+I
│─────────MOV T1 R3000
│─────────RST T1
│─────────RTI
當(dāng)程序運(yùn)行后,激活ON M1, T0開(kāi)始計(jì)時(shí)。第一次將X1 ON后,中斷程序動(dòng)作將當(dāng)時(shí)的時(shí)間差送到R3000.可此后無(wú)論如何通斷X1,R3000中的值始終不變。不知是什么原因。請(qǐng)老師指點(diǎn)!再次對(duì)您的幫助表示由衷的感謝!
.3. 回復(fù):咨詢(xún)中斷的問(wèn)題 hnwhlk(2010/9/6 23:04:19) IP:
58.253.219.* 補(bǔ)充:程序中MOV用的P指令。如果MOV不用P指令,則中斷程序可以執(zhí)行??晌以趺茨苤肋@個(gè)值就是在X1↑時(shí)的值呢?難道中斷服務(wù)程序中不能用P指令。謝謝!還想請(qǐng)教 MA的機(jī)器如何才能啟用中斷。謝謝!
.4. 回復(fù):咨詢(xún)中斷的問(wèn)題 hnwhlk(2010/9/6 23:53:22) IP:
58.253.219.* 再次補(bǔ)充:
當(dāng)我把MOV不用P指令時(shí),下面一句用RST*P T1 時(shí),R3000會(huì)隨著X1的動(dòng)作而刷新,但T0則也只能重置一次,X1第二次ON時(shí),因?yàn)镽ST*P 不動(dòng)作,T1里的值一直都在增加,因此R3000里的值是在不斷的增大。
如果我把RST指令也不用P指令,其結(jié)果是T1每次都能重置,但R3000里的值一直都是“0”,就仿佛是先RST T1,后MOV T1 R3000 一樣。究竟是什么原因,我百思不解。盼望早點(diǎn)弄清原委。謝謝!
.5. 回復(fù):咨詢(xún)中斷的問(wèn)題 hnwhlk(2010/9/7 18:44:19) IP:
58.253.219.* 我心急如火,可樓上的朋友為什么要這樣呢。我盼望能有熱心的老師給我指點(diǎn)迷津,當(dāng)看到有回復(fù)時(shí)心情非常高興,可看到的是些無(wú)關(guān)我的問(wèn)題的帖子,讓我心情就像是吃了個(gè)蒼蠅。
.6. 回復(fù):咨詢(xún)中斷的問(wèn)題 劉建陽(yáng)(2010/9/7 21:16:17) IP:
122.231.194.* 中斷子程序使用了脈沖執(zhí)行型指令
當(dāng)?shù)谝淮沃袛喟l(fā)生時(shí),子程序電路有上跳沿變化,執(zhí)行 MOV \ RST 指令1次,此時(shí)電路狀態(tài)1(得電);
當(dāng)?shù)诙沃袛嘤职l(fā)生時(shí),由于第一次中斷執(zhí)行后的結(jié)果,子程序電路狀態(tài)為1,第二次中斷發(fā)生,電路狀態(tài)沒(méi)有發(fā)生變化
這時(shí)候 MOV \ RST 不執(zhí)行。
第3次~第N次,均不執(zhí)行,因?yàn)殡娐窢顟B(tài)沒(méi)有0→1跳變。
若需要每次中斷都執(zhí)行,不要用P指令即可。
.8. 回復(fù):咨詢(xún)中斷的問(wèn)題 hnwhlk(2010/9/8 7:25:05) IP:
58.253.219.* 何老師:您好!
您說(shuō)的辦法,我也試過(guò)了,我做的調(diào)試裝置中X1的連接是用一個(gè)行程開(kāi)關(guān)。正如前面我提到的那樣,子程序中的結(jié)果完全不是中斷上升沿的結(jié)果,
按照您說(shuō)的:“當(dāng)?shù)谝淮沃袛喟l(fā)生時(shí),子程序電路有上跳沿變化,執(zhí)行 MOV \ RST 指令1次,此時(shí)電路狀態(tài)1(得電);
當(dāng)?shù)诙沃袛嘤职l(fā)生時(shí),由于第一次中斷執(zhí)行后的結(jié)果,子程序電路狀態(tài)為1,第二次中斷發(fā)生,電路狀態(tài)沒(méi)有發(fā)生變化”也就可以理解成子程序電路在第一次得電后就永遠(yuǎn)處于得電狀態(tài),能有辦法改變子程序電路狀態(tài)為1嗎?當(dāng)然是在程序運(yùn)行的狀態(tài)下改變。我在主程序中有146指令及145指令也不行。
還想請(qǐng)教。中斷程序一定要寫(xiě)在子程序里嗎?
說(shuō)心里話(huà),我早晨打開(kāi)電腦看到何老師的回復(fù)心里第一想法就是盡快打開(kāi)對(duì)應(yīng)的網(wǎng)頁(yè),我是帶著欣喜的期待去等著網(wǎng)頁(yè)打開(kāi),可見(jiàn)我們這些PLC的中間用戶(hù)是多么可憐!
.9. 回復(fù):咨詢(xún)中斷的問(wèn)題 劉建陽(yáng)(2010/9/8 19:20:33) IP:
125.124.103.* 中斷程序只有中斷事件發(fā)生了,PLC才會(huì)去執(zhí)行中相應(yīng)的中斷子程序。
中斷沒(méi)有發(fā)生,PLC不會(huì)去執(zhí)行。
永宏的中斷子程序是必須寫(xiě)在副單元的。
.10. 回復(fù):咨詢(xún)中斷的問(wèn)題 hnwhlk(2010/9/9 7:37:09) IP:
58.253.219.* 何老師:你好!
當(dāng)我把上面的程序注入機(jī)器并運(yùn)行后,我按動(dòng)行程開(kāi)關(guān),X1的指示燈會(huì)隨著我按下與松開(kāi)而閃亮與息滅,這應(yīng)該算是中斷發(fā)生了吧。我一年要用幾十個(gè)永宏的PLC。這點(diǎn)最起碼的常識(shí)我是知道的。上學(xué)的時(shí)候就學(xué)過(guò)什么叫中斷,什么是中斷服務(wù)程序,什么是中斷的優(yōu)先級(jí)。因此,請(qǐng)何老師如有可能上機(jī)做一下測(cè)試。我真的搞不懂,永宏的中斷為什么這么不好用。
.11. 回復(fù):咨詢(xún)中斷的問(wèn)題 hnwhlk(2010/9/11 21:42:00) IP:
58.253.219.* 再次請(qǐng)求永宏的高手老師幫助我解決中斷的問(wèn)題.并祝您們?cè)趲椭鷦e人后能享受到助人為樂(lè)的幸福!
.12. 回復(fù):咨詢(xún)中斷的問(wèn)題 hnwhlk(2010/9/26 17:29:34) IP:
58.253.219.* 堅(jiān)持以人為本,奉行“客戶(hù)第一”的服務(wù)宗旨,“與客戶(hù)共同發(fā)展”的經(jīng)營(yíng)理念說(shuō)的是真的嗎.可為什么我的關(guān)于"咨詢(xún)中斷問(wèn)題"在網(wǎng)上,用QQ,打電話(huà),到目前為止沒(méi)有解決!打電話(huà)問(wèn)時(shí)說(shuō)可以,可到目前沒(méi)有回復(fù)讓你無(wú)法接受,你如果給個(gè)回話(huà),指出我的錯(cuò)或者說(shuō)永宏不支持我所選的中斷模式好讓我有個(gè)底,我目前就像是飄浮在空中真著急!還請(qǐng)永宏能像所說(shuō)的那樣幫我們中間用戶(hù)解決實(shí)際問(wèn)題.要知道我們這些中間用戶(hù)是永宏公司免費(fèi)的推銷(xiāo)員.
.13. 回復(fù):咨詢(xún)中斷的問(wèn)題 劉建陽(yáng)(2010/9/26 19:03:03) IP:
60.163.148.* 建議你去理解PLC的基本工作原理和中斷執(zhí)行方式,你說(shuō)這些已經(jīng)都明白,那還需要?jiǎng)e人給你解釋什么?
多看手冊(cè)比在這里發(fā)牢騷有效的多。
.14. 回復(fù):咨詢(xún)中斷的問(wèn)題 hnwhlk(2010/9/26 21:36:09) IP:
58.253.219.* 何老師:你好!
我還是把我的任務(wù)簡(jiǎn)單的說(shuō)一下,麻煩你仔細(xì)看看,指出我錯(cuò)在哪里,謝謝!
機(jī)器現(xiàn)狀:當(dāng)機(jī)器每轉(zhuǎn)動(dòng)一周產(chǎn)生一個(gè)高電位信號(hào)送到X1,在WPROLAD環(huán)境里->專(zhuān)案->I/O組態(tài)里,將的X1設(shè)為正緣中斷.(為了簡(jiǎn)單我在下面的陳敘里用了與上面不同的計(jì)時(shí)器的存儲(chǔ)器的地址由此引起不便還請(qǐng)包涵)
主程序如下:
T1 32000
副程序如下:
LBL X1+I
MOV T1 R3000
RST?。?
(+1) R3002(這一句是我后來(lái)為檢查為什么R3000里的值是"0"而增加的)
RTI
原意是:當(dāng)X1高電位到來(lái)時(shí),中斷服務(wù)程序能將T1里的值存在R3000,后再將T1重置(為下周計(jì)時(shí)作準(zhǔn)備).因?yàn)槌绦蜻\(yùn)行后發(fā)現(xiàn):R3000里的值是"0",在何老師的提示下,我在中斷服務(wù)程序里加了個(gè)第15號(hào)指令(+1),結(jié)果發(fā)現(xiàn)中斷條件具備時(shí),中斷程序是執(zhí)行了,可是不是執(zhí)行一次而是執(zhí)行了二次或二次以上,因?yàn)椋?002中的值在中斷產(chǎn)生時(shí)都增加了2或3.這樣就不難理解為什么當(dāng)中斷發(fā)生時(shí)R3000里是"0"的原因了.這說(shuō)明中斷服務(wù)程序并不是按照從LBL..至RTI后就返回主程序,而是在副程序段掃描了一次后又掃描了一次,請(qǐng)問(wèn)何老師,是這樣嗎,如果是這樣的話(huà)我怎么辦呢?如果不是這樣的話(huà),我的這個(gè)小程序在我的供應(yīng)商哪里也這樣的結(jié)果.為此,我與永宏的Q友用遠(yuǎn)程控制來(lái)演示也是這個(gè)結(jié)果.因?yàn)槲也荒苌蟼魑募詿o(wú)法將這個(gè)小程序發(fā)上來(lái).如果您能給我個(gè)郵箱我發(fā)過(guò)去您給診斷一下.其他好心的老師也如果愿意幫助我,給我個(gè)郵箱我也把這個(gè)小程序發(fā)過(guò)去讓您診斷.就當(dāng)作時(shí)做了個(gè)助人為樂(lè)的游戲.
我為了這個(gè)中斷程序已經(jīng)頭痛了近二個(gè)月了,說(shuō)實(shí)在話(huà)我不想發(fā)牢騷,只想解決問(wèn)題.我打了很多電話(huà),(為了不影響他們,我也提給哪些地方打電話(huà)),我只想得到:我應(yīng)該如何做,才能將這個(gè)簡(jiǎn)單的問(wèn)題搞定.真的!我不是最終用戶(hù),我是把我的控制理念通過(guò)PLC及機(jī)器手與機(jī)器有機(jī)地組合在一起,提供一個(gè)節(jié)能產(chǎn)品給最終用戶(hù).因此從某種層面上看,我真的是免費(fèi)給永宏推銷(xiāo)PLC.我認(rèn)為永宏的編譯環(huán)境比較好用,與歐母龍的近似.價(jià)格也低的多,所以選了永宏.
在這個(gè)問(wèn)題上我錯(cuò)在哪里也請(qǐng)熱心的老師指點(diǎn)迷津.能給我一個(gè)方法.提示,我將表示由衷的感謝!
[本主題共14回復(fù) | 每頁(yè)顯示20回復(fù)]