lmyhao1985
為中國(guó)崛起 成為工業(yè)強(qiáng)國(guó) &
級(jí)別: 略有小成
|
我正在做一個(gè)項(xiàng)目,但不知怎么編寫(xiě)西門(mén)子PLC的定時(shí)激活程序,以前沒(méi)學(xué)過(guò) ,我用的是西門(mén)子200 CPU 224 繼電器輸出的I/O 是24的 帶三菱F930觸摸屏的 西門(mén)子變頻器440 謝謝 |
---|---|
|
lxmlxmlxy
級(jí)別: 略有小成
|
你把要激活的程序做成子程序,再設(shè)定時(shí)間調(diào)用,還有就是用中斷,系統(tǒng)有定時(shí)中斷時(shí)基 子程序可以把整個(gè)用戶程序按照功能進(jìn)行結(jié)構(gòu)化的組織。一個(gè)“好”的程序總是把全部的控制功能分為幾個(gè)符合工藝控制規(guī)律的子功能塊,每個(gè)子功能塊可以由一個(gè)或多個(gè)子程序組成。這樣的結(jié)構(gòu)也非常有利于分步調(diào)試,以免許多功能綜合在一起無(wú)法判斷問(wèn)題的所在;而且,幾個(gè)類似的項(xiàng)目也只需要對(duì)同一個(gè)程序作不多的修改就能適用。 子程序在調(diào)用時(shí)會(huì)保持當(dāng)前的邏輯運(yùn)算結(jié)果,但是不保存累加器(ACx)的內(nèi)容 子程序在執(zhí)行到末尾時(shí)自動(dòng)返回,不必加返回指令;在子程序中間也可以使用條件返回指令 子程序不能使用跳轉(zhuǎn)語(yǔ)句跳入、跳出 子程序返回時(shí),回到調(diào)用子程序的指令后面,繼續(xù)執(zhí)行上一級(jí)程序 S7-200 CPU最多可以調(diào)用64個(gè)子程序(CPU226為128個(gè)) 子程序可以嵌套調(diào)用,即子程序中再調(diào)用子程序,一共可以嵌套8層 在中斷服務(wù)程序中不能欠套調(diào)用子程序,被中斷服務(wù)程序調(diào)用的子程序中不能再出現(xiàn)子程序調(diào)用 子程序可以帶參數(shù)調(diào)用,在子程序的局部變量表中設(shè)置參數(shù)的類型;一共可以帶16個(gè)參數(shù)(形式參數(shù)) S7-200中使用中斷服務(wù)程序來(lái)響應(yīng)這些內(nèi)部、外部的中斷事件。中斷服務(wù)程序需要通過(guò)用戶編程與特定的中斷事件聯(lián)系起來(lái),才能工作。中斷程序與子程序最大的不同是,中斷服務(wù)程序不能由用戶程序調(diào)用,而只能由特定的事件觸發(fā)執(zhí)行。 無(wú)法準(zhǔn)確預(yù)測(cè)何時(shí)執(zhí)行中斷服務(wù)程序。 中斷服務(wù)程序只有由用戶程序把中斷服務(wù)程序標(biāo)號(hào)(名稱)與中斷事件聯(lián)系起來(lái),并且開(kāi)放系統(tǒng)中斷后才能進(jìn)入等待中斷并隨時(shí)執(zhí)行的狀態(tài) 多個(gè)中斷事件可以連接同一個(gè)中斷服務(wù)程序;一個(gè)中斷服務(wù)程序只能連接一個(gè)中斷事件 中斷服務(wù)程序也可由用戶程序取消與中斷事件的連接;隊(duì)列中的特定中斷事件可以被指令取消;也可用指令禁止全部中斷 中斷程序只需與中斷事件連接一次,除非需要重新連接 進(jìn)入中斷服務(wù)程序時(shí),S7-200的操作系統(tǒng)會(huì)“保護(hù)現(xiàn)場(chǎng)”,從中斷程序返回時(shí),仍然恢復(fù)當(dāng)時(shí)的程序執(zhí)行狀態(tài) 中斷事件各有不同的優(yōu)先級(jí)別 中斷服務(wù)程序不能再被中斷。中斷程序執(zhí)行時(shí),如果再有中斷事件發(fā)生,會(huì)按照發(fā)生的時(shí)間順序和優(yōu)先級(jí)排隊(duì) 中斷服務(wù)程序執(zhí)行到末尾會(huì)自動(dòng)返回,也可以由邏輯控制中途返回 S7-200 CPU最多可以使用128個(gè)中斷程序,中斷程序不能嵌套 在中斷程序中只能調(diào)用一層子程序,中斷程序中的子程序不能嵌套,否則會(huì)出錯(cuò) 中斷程序應(yīng)短小而簡(jiǎn)單,執(zhí)行時(shí)對(duì)其他處理不要延時(shí)過(guò)長(zhǎng),即越短越好 |
---|---|
本帖最近評(píng)分記錄: |
醉湮邃虞
醉湮邃虞話老黑
級(jí)別: 略有小成
|
給你個(gè)示例: 這個(gè)程序 i0.0=1 控制計(jì)時(shí)器,=0停止計(jì)時(shí),再=1繼續(xù)計(jì)時(shí) I0.1=1 上升沿復(fù)位計(jì)時(shí)器或者定時(shí)時(shí)間到達(dá)1000秒計(jì)時(shí)器復(fù)位 在第5秒到第10秒時(shí)接通Q1.0,其他時(shí)段關(guān)閉Q1.0 |
|
---|---|---|
本帖最近評(píng)分記錄:
|
醉湮邃虞
醉湮邃虞話老黑
級(jí)別: 略有小成
|
這句話不太好理解,若直觀理解,這段是錯(cuò)誤的,子程序并不保持局部任何變量的邏輯運(yùn)算結(jié)果,除非是全局變量。 如果把這句話改一下就正確了。 調(diào)用子程序時(shí)會(huì)保持當(dāng)前的邏輯運(yùn)算結(jié)果,但是不保存累加器(ACx)的內(nèi)容 調(diào)用與被調(diào)用是兩個(gè)概念。 |
|
---|---|---|
|
lmyhao1985
為中國(guó)崛起 成為工業(yè)強(qiáng)國(guó) &
級(jí)別: 略有小成
|
謝謝各位 我可能沒(méi)說(shuō)明白 我說(shuō)的定時(shí)激活 指的是可以在斷電的情況下 還能保存數(shù)據(jù) 現(xiàn)在一般的產(chǎn)品都會(huì)帶有這樣的程序 |
---|---|
|
醉湮邃虞
醉湮邃虞話老黑
級(jí)別: 略有小成
|
呵呵,不是可能沒(méi)說(shuō)明白,而是你問(wèn)的和你要問(wèn)的根本不是一回事,完全是兩個(gè)概念。 提供給你個(gè)程序:你也不用理解,直接使用就是了 http://mycontrol.5d6d.com/thread-13-1-1.html |
|
---|---|---|
|
zuoyifeng
級(jí)別: 探索解密
|
6樓的樓主,斑竹是問(wèn)如何斷電定時(shí)啟動(dòng),你的答安是保存參數(shù)。不過(guò),要定時(shí)啟動(dòng),你的PLC就不能斷電,如果斷電了如何能談到啟動(dòng)PLC呢? |
---|---|
|
lmyhao1985
為中國(guó)崛起 成為工業(yè)強(qiáng)國(guó) &
級(jí)別: 略有小成
|
是我的錯(cuò) 我說(shuō)的定時(shí)激活 是一臺(tái)設(shè)備使用一段時(shí)間后,就會(huì)自動(dòng)停機(jī),需要設(shè)計(jì)員去激活 這是保護(hù)設(shè)備公司的權(quán)利的 如果買(mǎi)方?jīng)]有付完錢(qián)的話 就有把柄在手上 |
---|---|
|
lmyhao1985
為中國(guó)崛起 成為工業(yè)強(qiáng)國(guó) &
級(jí)別: 略有小成
|
謝謝大家的參與 |
---|---|
|
lmyhao1985
為中國(guó)崛起 成為工業(yè)強(qiáng)國(guó) &
級(jí)別: 略有小成
|
謝謝 六樓的兄弟 你那個(gè)可以用來(lái)解決我的那個(gè)問(wèn)題 就是設(shè)計(jì)一個(gè)定時(shí)一年的程序 |
---|---|
|
醉湮邃虞
醉湮邃虞話老黑
級(jí)別: 略有小成
|
呵呵,原來(lái)是要裝個(gè)定時(shí) 炸----蛋,早說(shuō)呀。 保存數(shù)據(jù)可以直接實(shí)用 M0-M14 來(lái)保存,或者PLC內(nèi)存,前面已經(jīng)提到了如何保存數(shù)據(jù) 而激活就要看你的能耐了,可以實(shí)用PLC時(shí)鐘,各種時(shí)間中斷,還有分鐘脈沖 SM0.4 秒脈沖SM0.5,掃描周期脈沖SM0.6 你需要作一個(gè)計(jì)數(shù)器,最好實(shí)用MW 或者VW,將計(jì)數(shù)程序,激活指令分放在不同的子程序中,要隱蔽性強(qiáng),比如 SET M0.0,1 如果將后面的1改為3,M0.2 也會(huì)激活,同時(shí)程序中最好也用這個(gè)點(diǎn),取消就失靈了,多條件組合隱蔽性更強(qiáng), 而關(guān)閉激活狀態(tài),可以實(shí)用正常運(yùn)行不可能出現(xiàn)的I點(diǎn)同時(shí)為1或0來(lái)取消激活,或開(kāi)始定時(shí),哈哈,看你的嘍。 (另外電路上也可做個(gè)手腳,比如用一個(gè)從來(lái)不實(shí)用的Q點(diǎn),一個(gè)電流不夠就用2個(gè),使其直接連接到電源側(cè),嘿嘿,程序一旦激活, 小則損壞PLC的Q點(diǎn),大則引起火災(zāi),滿意不??你樂(lè)意這樣做?) 現(xiàn)在不付費(fèi)的是越來(lái)越多了,好像已經(jīng)成了便飯,如何對(duì)付他們真是傷腦筋。只是要算準(zhǔn)發(fā)作時(shí)機(jī),如果發(fā)作時(shí)機(jī)不合理,你不但把雞(回收款)弄飛了,蛋也打了,雞蛋(信譽(yù))打壞了,怎么浮小雞呢? 祝你好運(yùn)。。。。。! 雞不飛,蛋不打,小雞雞一窩又一窩! [ 此帖被醉湮邃虞在2009-05-06 22:03重新編輯 ] |
|
---|---|---|
|