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