西門子代理|模塊總代理
昨天看到有這樣一個(gè)貼子,要求編輯一個(gè)相對(duì)速度的計(jì)算公式,實(shí)際上類似的問(wèn)題只需要理解了其中的一些基本原理,編輯這樣的程序也不算有難度的項(xiàng)目。在回復(fù)中大概講了調(diào)用定時(shí)中斷的方法,因?yàn)槎〞r(shí)中斷相對(duì)于間隔時(shí)間是一個(gè)相對(duì)恒定了時(shí)間區(qū)間,這樣計(jì)算出來(lái)的速度比較合理。
方式:
1) 定義一個(gè)循環(huán)定時(shí)中斷,假設(shè)200mS。
2) 在這個(gè)中斷組織塊中編輯速度值程序。
程序:
1) 創(chuàng)建一個(gè)新項(xiàng)目,plc為S7-1214C ,選擇版本V4.2的cpu確認(rèn)。
2) 插入一個(gè)循環(huán)定時(shí)中斷,設(shè)置定時(shí)中斷時(shí)間周期為200mS,圖示:
該電路(如圖)適用于數(shù)字萬(wàn)用表等小電流的供電。用1.2伏的五號(hào)充電電池代替9伏層疊電池,改后比較經(jīng)濟(jì)實(shí)用。
筆者改裝了一部?!?90型數(shù)字萬(wàn)用表和DA—1型電子按摩器,使用兩年多來(lái)都很正常。電路是運(yùn)用間歇振蕩器的快速關(guān)斷(截止)的特性而實(shí)現(xiàn)升壓的。在空載時(shí)(穩(wěn)壓管和負(fù)載開路),升壓可達(dá)70多伏。元件I用中8mm的小磁環(huán),初級(jí)繞5匝,次級(jí)繞奶匝。三極管選用p值大的、飽和壓降小的硅管。其他為普通電子元件。如果需要不同的電壓,可以改用相應(yīng)的穩(wěn)壓管。線路元件少,可設(shè)計(jì)裝在原電池盒內(nèi)
為什么需要設(shè)置循環(huán)定時(shí)中斷為200mS?這個(gè)主要還是一個(gè)所謂的經(jīng)驗(yàn)方式,如果把這個(gè)周期設(shè)置時(shí)間間隔相對(duì)較大,那么,速度計(jì)算出來(lái)的值,看起來(lái)數(shù)據(jù)“跳變"現(xiàn)象大,尤其是項(xiàng)目速度不恒定的速度計(jì)算。如果這個(gè)周期時(shí)間間隔設(shè)置相對(duì)小,速度數(shù)據(jù)變化頻繁,同樣也針對(duì)于速度不恒定的環(huán)境下,看起來(lái)會(huì)不這么舒服(數(shù)據(jù)的大、小值變化)。所以,這個(gè)循環(huán)定時(shí)中斷時(shí)間還是需要根據(jù)具體的設(shè)備,通過(guò)實(shí)際比較找到一個(gè)相對(duì)合適的定時(shí)循環(huán)中斷周期計(jì)算。
3) 速度程序,在設(shè)置的定時(shí)中斷組織塊OB30中編輯速度程序,圖示:
速度值的計(jì)算原理:
在一個(gè)始終循環(huán)的定時(shí)中斷(200mS)中,編輯速度數(shù)據(jù)的當(dāng)前值減上一個(gè)周期的速度數(shù)據(jù),得到通過(guò)一個(gè)200mS時(shí)間間隔的差值,這個(gè)差值是設(shè)備在移動(dòng)或者運(yùn)行后,通過(guò)200mS周期后的變化值,相當(dāng)于理解通過(guò)200mS的移動(dòng)量。為感覺(jué)上的一致性,一般把速度值定義到1S或者1MIN的單位,這樣看起來(lái)的速度單位值相對(duì)舒服一點(diǎn),也統(tǒng)一一點(diǎn)。計(jì)算完本周期的速度值,將本次計(jì)算的當(dāng)前值,傳送到下一個(gè)周期的速度數(shù)據(jù)存儲(chǔ)區(qū),以方便下一個(gè)200mS間隔周期再次調(diào)用計(jì)算。
將程序編譯、保存后下載到plc,讀取MD0的變化數(shù)據(jù),得到一個(gè)速度值,圖示:
程序運(yùn)行結(jié)果,當(dāng)在某一個(gè)定時(shí)中斷中檢測(cè)到MD100 = 12.0,即在上一個(gè)定時(shí)中斷中MD104 = 0的狀態(tài)下,說(shuō)明通過(guò)200mS周期后移動(dòng)了12.0mm,那么,相對(duì)1S時(shí)間的速度值是60.0mm/S。因?yàn)槭茄h(huán)定時(shí)中斷,所以,MD112的值被200mS的周期間隔被不斷的刷新,得到這個(gè)速度值的實(shí)時(shí)值。