夜夜躁日日躁狠狠久久|国产精品亚洲va在线观看|色天天天天综合男人的天堂|日本特黄特色aa大片免费|国产好痛疼轻点好爽的视频|欧美18school人禽杂交

93329737
級別: 探索解密
精華主題: 0
發(fā)帖數量: 23 個(gè)
工控威望: 188 點(diǎn)
下載積分: 519 分
在線(xiàn)時(shí)間: 18(小時(shí))
注冊時(shí)間: 2009-04-14
最后登錄: 2025-03-20
查看93329737的 主題 / 回貼
樓主  發(fā)表于: 2010-11-10 14:54
    用S7-200編程的三個(gè)實(shí)例的解析之三

         本文三例都是本人在網(wǎng)上回答網(wǎng)友的求助貼時(shí)編寫(xiě)的,其中第三貼把和其他網(wǎng)友辯論編出的梯形圖是否正確的內容也寫(xiě)進(jìn)來(lái),供大家分析參考,有不對之處,望批評指正。

         一、網(wǎng)友求助:“如何使用200統計流量 :我使用的一個(gè)流量計它能輸出脈沖信號,1000個(gè)脈沖為一個(gè)立方的,也可以輸出4-20毫安的電流信號,20毫安對應每小時(shí)500立方,我現在的想用226的CPU來(lái)計算一個(gè)月該流量計的總流量,最好直接使用CPU模塊實(shí)現,不建議再使用特殊模塊。謝謝了!
        回復:
                        《 一》、使用4-20ma的電流信號求統計流量:
       (一)、你可選用4-20ma電流輸入模塊,將電流信號接在模塊的電流輸入端,如沒(méi)有,可選用0-10V電壓輸入模塊,不過(guò)要多用一個(gè)500歐的精密電阻并接在電壓輸入端與地之間,再將電流輸入信號接在電壓輸入端,這樣4-20ma 電流流過(guò)500歐電阻時(shí),就轉變?yōu)?-10V的電壓信號!
      (二)、求出瞬時(shí)流量的公式:

             (1)、從模塊的參數可知:20ma(或10V)模塊對應的轉換數字量設它為W20,你就可以求出4ma 對應的數字量W4:

                          W4 =W 20 ×4 ÷20 = W 20÷5。  

            (2)、20毫安對應每小時(shí)500立方,那么20毫安對應每秒鐘為500 ÷3600=0.139立方,而“0.139立方”即為流量計輸出20ma時(shí)的瞬時(shí)流量,此時(shí)對應的模塊的數字量為W 20。而流量計輸出4ma時(shí)對應的瞬時(shí)流量=0,但模塊此時(shí)的數字量為W 20÷5,即瞬時(shí)流量N與對應的數字量W的關(guān)系是一條不過(guò)0點(diǎn)的直線(xiàn),可推導出瞬時(shí)流量N的公式:N = 0.139×(W - W 20÷5)÷(W 20- W 20÷5) 簡(jiǎn)化為:
                            N = 1.39×(W -0.2× W 20)÷(8×W 20) ……(1)
       (三)、PLC程序處理:采用時(shí)間中斷的方式進(jìn)行瞬時(shí)流量的采集與累加:中斷為秒中斷:即每隔1秒從模塊讀取一次數據,按上式(1)求出瞬時(shí)流量N,再把N值加在累積區(如VD100)中,即可。
                                   《 二 》用脈沖計數方式求統計流量
        我們知道:用 1秒時(shí)間對輸出脈沖進(jìn)行計數采樣,其計數值即為瞬時(shí)流量,N秒內的瞬時(shí)流量的累加值即為N秒內的總流量。若求某段時(shí)間的總流量,很多人都是采用先求出瞬時(shí)流量,再對某段時(shí)間的瞬時(shí)流量進(jìn)行累加的方法來(lái)求總流量,這種方法如用單片機或計算機可以,但用PLC進(jìn)行定時(shí)計數,由于掃描周期的影響,瞬時(shí)流量是測不準的。我認為:如果求瞬時(shí)流量不是為了閉環(huán)控制提供反饋信號而是為了進(jìn)行累加求總流量的話(huà),可不用求瞬時(shí)流量,直接對流量計的輸出脈沖進(jìn)行連續計數就可以了。具體編程思路是這樣的:1、如輸出脈沖的最高頻率低于200HZ,可用普通輸入點(diǎn)做計數信號的輸入端,用它的前沿觸發(fā)內部一雙字存儲器進(jìn)行加一運算。如高于200HZ,就得選用帶啟動(dòng)、復位控制的單相增計數方式的高速計數器進(jìn)行計數。假設1000個(gè)脈沖為一個(gè)立方”,可知其一個(gè)脈沖為0.001立方的流量.。即累計的流量值的精度為0.001立方。如統計較長(cháng)時(shí)間的總流量其精度不需要這么高,比如要求為0.1立方,此時(shí)的計數值應除以100,其商才為累計流量。3、一般流量計輸出脈沖信號幅度為5V或12V,而PLC輸入端要求輸入信號的幅度為24V,故流量計的輸出脈沖信號必需先做電平轉換變成24V脈沖信號后,方可接入PLC的計數輸入端,這樣就得做一塊電路板。如果流量精度為0.1立方,可在電路板上的電平轉換線(xiàn)路前再增加一塊4518(雙十進(jìn)制計數器)集成塊,來(lái)構成二位十進(jìn)制計數器,先對流量計輸出脈沖進(jìn)行計數,其輸出的脈沖相當對流量計輸出脈沖進(jìn)行除以100的運算處理,再對它進(jìn)行24V電平轉換,去PLC計數口,這樣進(jìn)入PLC計數端的脈沖頻率一定低于200HZ,就不需要用高速計數器計數,可大大的簡(jiǎn)化編程程序。見(jiàn)下圖:


              程序說(shuō)明:按下啟動(dòng)開(kāi)關(guān)I2.1,讀取此時(shí)的日期時(shí)間存入VB10(年)、VB11(月)、VB12(日)、VB13(時(shí))中,I2.1的后沿使V2.0=1,V2.0的前沿使計數器VD100清0,V2.0=1時(shí)泵啟動(dòng),流量計計量開(kāi)始。如運行中斷電,VD100、V2.0 及VB10、VB11等均具有斷電保持原數據、狀態(tài)的功能,所以復電后,不用按啟動(dòng)開(kāi)關(guān),由于V2.0=1,PLC自動(dòng)進(jìn)行累計流量。如累計流量結束,按一下停止按鈕I2.2J就可:I2.2=1,立即將此時(shí)日期、時(shí)間出入VB20、VB21、VB22、VB23中,同時(shí)使V2.0=0,累計流量結束。

              二、網(wǎng)友求助:“如何用程序實(shí)現泵每五分鐘起一次,工作五分鐘后,再停五分鐘,循環(huán)工作!
        回復:下圖是按著(zhù)樓主要求用S7-200編寫(xiě)的梯形圖,圖中用一個(gè)按鈕做電機運行與停車(chē)開(kāi)關(guān)(I 0.0)



        不管哪種PLC都有通電延時(shí)定時(shí)器,你都可以按這樣思路編程。  

                三、網(wǎng)友求助:“s7-200程序,一個(gè)輸入,輸出時(shí)四個(gè)輸出中的任意一路輸出,有什么簡(jiǎn)單的方法?歡迎大家熱烈發(fā)帖!
        回復:“s7-200程序,一個(gè)輸入,輸出時(shí)四個(gè)輸出中的任意一路輸出,有什么簡(jiǎn)單的方法?歡迎大家熱烈發(fā)帖!,
這確實(shí)是個(gè)不錯的帖子,我也沒(méi)用什么隨機函數,憑著(zhù)PLC由于掃描周期影響定時(shí)器的定時(shí)精度的考慮,用S7-200編寫(xiě)了樓主提出的控制要求的梯形圖,并在S7-200上運行,證明程序符合樓主要求。梯形圖如下,有興趣的網(wǎng)友可以試用一下。
     (原圖)


     (后改圖)



          ***有網(wǎng)友提出異議:
1:
這個(gè)程序的輸出不具備隨機性,因此不能說(shuō)符合樓主要求。簡(jiǎn)單地說(shuō):如果某一時(shí)刻I0.0輸入ON,輸出為Q0.0,那么15ms后再次輸入,則輸出一定不是Q0.0了。這就不符合隨機性要求。隨機性的原則是:無(wú)論何時(shí)輸入I0.0,輸出Q0.0-Q0.3的機會(huì )相等。
2:
樓上的程序未必是真正意義上的隨機輸出。有限個(gè)輸出符合要求不意味著(zhù)總能隨機輸出。還是用隨機數輸出的指令,讓plc給出在(0,1)范圍內的偽隨機數RAND(x),用取整指令對4*RAND(x)+1取整,其結果一定是1,2,3,4中隨機的某一個(gè),再讓此隨機結果分別與1,2,3,4比較,采用分支程序根據比較結果把程序執行引向不同的輸出
          我的答復: 根據樓主要求:“一個(gè)輸入,輸出時(shí)四個(gè)輸出中的任意一路輸出,”就是說(shuō)在輸入信號=1時(shí),Q0.0-Q0.3 四個(gè)輸出端中必須有一路輸出=1,且不是有規律出現,我是按這個(gè)原則編程的。11樓你說(shuō)“15ms后再次輸入,則輸出一定不是Q0.0了”你對T32的用意理解錯了,這里用T32構成振蕩器,是在輸入信號I0.0 =1的后沿起的300MS內,對MB0計數用的,300MS后MB0計數停止,由于這種定時(shí)計數不穩定性,使MB0每次計數結果不相等,但MB0的低二位(即M0.0與M0.1二位值)的狀態(tài)只有四種:00、01、10、11,按梯形圖四路輸出支路的M0.0、M0.1的組合,不管計數值為多少,總有且只有一路為串聯(lián)通道狀態(tài),當下一個(gè)輸入信號到來(lái)時(shí)間內(即I0.0=1)使M2.0=1,這樣四路輸出中總有且只有一路輸出=1,當輸入信號結束后的300MS內MB0又計數,計數停止,M0.0與M0.1的狀態(tài)是隨意的,但只能在0-3之間變化,也就是說(shuō)總有一路M0.0與M0.1串聯(lián)處于通道狀態(tài)的。我認為本梯形圖符合樓主要求。從統計學(xué)觀(guān)點(diǎn)來(lái)看,多次的輸入,其四路出現導通的概率應該是相等的。

            ****網(wǎng)友再提出異議: 你還是沒(méi)有理解“隨機性”。就你的程序,再舉個(gè)特殊點(diǎn)的例子來(lái)說(shuō)明我在11樓的觀(guān)點(diǎn):如果某一時(shí)刻I0.0輸入時(shí),輸出為Q0.0,5ms時(shí)I0.0斷開(kāi),10ms時(shí)再次輸入I0.0,那么按照你的程序,輸出是確定的:不是Q0.0就是Q0.1,而不可能是Q0.2或Q0.3,因為這期間T32最多翻轉一次。這就談不上隨機性了。
        再回復: 15樓網(wǎng)友:你說(shuō)的問(wèn)題我明白,但樓主要求用S7-200編程,PLC通常內部存儲器計數頻率很低,所以才用15ms定時(shí)器搭成振蕩器,如果想要是輸入信號寬度為幾ms,可用高速計數器計數,這樣就得用外輸入計數脈沖來(lái)代替T32,而且最高為20KHz。如你再要求輸入脈寬為幾微秒,PLC根本不能勝任,就得用計算機編程了,而計算機也有最高頻率限制,所以不能把問(wèn)題太絕對化。(將T32的定時(shí)時(shí)間改為 1ms,程序仍能正常工作,這樣幾毫秒輸入脈寬就能正常運行)
         ****網(wǎng)友再提出異議: 不是我要求脈寬為幾微秒,只是舉個(gè)例子而已。無(wú)論T32的定時(shí)時(shí)間是15ms還是1ms,性質(zhì)是不變的:即不能保證任意時(shí)刻I0.0輸入時(shí)Q0.0-Q0.3輸出的概率相等。

        再回復:17樓網(wǎng)友說(shuō):“不是我要求脈寬為幾微秒,只是舉個(gè)例子而已。無(wú)論T32的定時(shí)時(shí)間是15ms還是1ms,性質(zhì)是不變的:即不能保證任意時(shí)刻I0.0輸入時(shí)Q0.0-Q0.3輸出的概率相等!睂Υ私Y論我不理解,如果你的依據來(lái)源于15樓你說(shuō)的“如果某一時(shí)刻I0.0輸入時(shí),輸出為Q0.0,5ms時(shí)I0.0斷開(kāi),10ms時(shí)再次輸入I0.0,那么按照你的程序,輸出是確定的:不是Q0.0就是Q0.1,而不可能是Q0.2或Q0.3,因為這期間T32最多翻轉一次。這就談不上隨機性了!。如果是這樣說(shuō)明你對程序沒(méi)有看細,就以你說(shuō)的輸入條件,第一次輸入,MB1可能計數為0或1,當第二次輸入時(shí),MB1的計數值不是仍為0或1而是0、1或2,為什么?MB1計數是累加計數的而不是從0計數,怎么會(huì )不可能出現Q0.2或Q0.3為輸出呢?我們還是以樓主的求助內容來(lái)討論問(wèn)題吧:樓主說(shuō)“s7-200程序,一個(gè)輸入,輸出時(shí)四個(gè)輸出中的任意一路輸出,有什么簡(jiǎn)單的方法?”。1、用S7-200編程,就限制了輸入信號的脈寬不能小于5ms(普通輸入口對信號的前后沿滯后時(shí)間為幾毫秒,用其做計數輸入口只能計200HZ以下的脈沖頻率),2、輸入信號的寬度是隨意的,即使脈寬相同,由于掃描周期的影響,再加上MB1為累加計數,故使MB1的每次計數值波動(dòng)性大,即MB1最低二位數(M1.0、M1.1)的狀態(tài)為不固定的。從統計學(xué)觀(guān)點(diǎn)來(lái)看,多次的輸入,其四路各自出現導通的概率應該是相等的。這和拋錢(qián)看正反面的概率是一樣的。3、真正意義上的隨機數(或者隨機事件)在某次產(chǎn)生過(guò)程中是按照實(shí)驗過(guò)程中表現的分布概率隨機產(chǎn)生的,其結果是不可預測的,是不可見(jiàn)的。而計算機中的隨機函數是按照一定算法模擬產(chǎn)生的,其結果是確定的,是可見(jiàn)的。我們可以這樣認為這個(gè)可預見(jiàn)的結果其出現的概率是100%。所以用計算機隨機函數所產(chǎn)生的“隨機數”并不隨機,是偽隨機數。
         我是本著(zhù)上述二個(gè)原則編寫(xiě)的程序,通過(guò)上機運行,多次輸入,且輸入脈寬長(cháng)短變化,其四路輸出是隨機的,所以我仍堅持我編寫(xiě)的梯形圖符合樓主要求。
       ***網(wǎng)友再提出異議:
       1、10樓的程序是否改過(guò)了,我記得原來(lái)有兩個(gè)定時(shí)器。
       2、對于“如果是這樣說(shuō)明你對程序沒(méi)有看細,就以你說(shuō)的輸入條件,第一次輸入,MB1可能計數為0或1,當第二次輸入時(shí),MB1的計數值不是仍為0或1而是1或2,為什么?MB1計數是累加計數的而不是從0計數,怎么會(huì )不可能出現Q0.2或Q0.3為輸出呢?”的回復:(針對先前的程序)
假定某一時(shí)刻I0.0輸入時(shí),Q0.0輸出,說(shuō)明MB0此時(shí)=0。再過(guò)10ms,I0.0再次輸入并持續5ms,此時(shí)段內T32可能翻轉,也可能不翻轉,但翻轉最多一次。故MB0或者是0,或者是1,而不可能是2或者3.
      3、針對現在改過(guò)的程序:Q的輸出與I0.0的持續時(shí)間有關(guān),是可以人為控制的。因此也不是隨機的。
      再回復: 最終定下的梯形圖如下,望有條件有興趣的網(wǎng)友在S7-200 PLC上運行試驗,看看能否符合樓主的要求。



         梯形圖是做過(guò)改動(dòng),只是簡(jiǎn)化程序,縮短二次輸入的間隔時(shí)間,原程序是I 0.0 驅動(dòng)斷電延時(shí)定時(shí)器T100,用I 0.0 由1變0起到T100由1變0止的間隔時(shí)間對MB0進(jìn)行計數,這是考慮手動(dòng)按鈕做輸入,其二次輸入的最小間隔時(shí)間在幾百毫秒以上才選用這種控制方式的?紤]到你在5樓提出“如果某一時(shí)刻I0.0輸入時(shí),輸出為Q0.0,5ms時(shí)I0.0斷開(kāi),10ms時(shí)再次輸入I0.0,”,即二個(gè)輸入信號間隔10ms,由于此時(shí)T100還沒(méi)有變0,會(huì )使第二次輸入失效,故將“原用I 0.0 由1變0起到T100由1變0的間隔時(shí)間對MB0進(jìn)行計數”的計數方式改為“在I0.0=1的時(shí)間對MB1進(jìn)行計數,I0.0 的后沿將MB1的計數結果送入MB0”,這樣就可縮短二次輸入信號的間隔時(shí)間,而且也簡(jiǎn)化了程序。但“一個(gè)輸入,輸出時(shí)四個(gè)輸出中的任意一路輸出”的設計思路并沒(méi)變,F在要論証一下你在21樓說(shuō)的話(huà)“假定某一時(shí)刻I0.0輸入時(shí),Q0.0輸出,說(shuō)明MB0此時(shí)=0。再過(guò)10ms,I0.0再次輸入并持續5ms,此時(shí)段內T32可能翻轉,也可能不翻轉,但翻轉最多一次。故MB0或者是0,或者是1,而不可能是2或者3.”,
        前面我講過(guò)幾次,MB0 或MB1是累加計數,不是清0后計數,假設在輸入時(shí)間內,MB1最多計一個(gè)數,MB1從0開(kāi)始,第一次計數值為0或1,第二次為0或1或2,第三次為0或1或2或3,第四次為0或1或2或3(或4時(shí)即為0)。。。。怎么“不可能是2或者3”呢?多次輸入,使MB1的最低二位出現0、1、2、3的幾率相等,這就是我編程的依據,如你有充足的理論依據能駁倒我的編程思路我歡迎,如還像前面的說(shuō)法,我認為就此停止吧。
dutian2328
級別: 探索解密
精華主題: 0
發(fā)帖數量: 25 個(gè)
工控威望: 108 點(diǎn)
下載積分: 560 分
在線(xiàn)時(shí)間: 5(小時(shí))
注冊時(shí)間: 2010-08-23
最后登錄: 2014-04-02
查看dutian2328的 主題 / 回貼
1樓  發(fā)表于: 2010-11-14 21:13
圖沒(méi)有↑來(lái)

夜夜躁日日躁狠狠久久|国产精品亚洲va在线观看|色天天天天综合男人的天堂|日本特黄特色aa大片免费|国产好痛疼轻点好爽的视频|欧美18school人禽杂交