<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 數(shù)字量設(shè)備控制模塊的設(shè)計分析

          數(shù)字量設(shè)備控制模塊的設(shè)計分析

          作者: 時間:2016-12-16 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/201612/330990.htm


            按類劃分的設(shè)備控制模塊,其調(diào)用的輸入輸出參數(shù)只包括設(shè)備順序號和現(xiàn)場設(shè)備輸入輸出信號的plc地址,非常簡單。劃分八類數(shù)字量信號設(shè)備就有八個plc設(shè)備控制模塊,不管生產(chǎn)控制設(shè)備的數(shù)量多少,歸屬于同類的生產(chǎn)控制設(shè)備,其控制程序的處理過程是一樣的,不同的只是它們的輸入輸出信號地址和plc內(nèi)部存儲區(qū)地址。
            如果用西門子step7來編程,可以用一個數(shù)據(jù)塊db來儲存所有數(shù)字量設(shè)備的狀態(tài)位和命令位,每個設(shè)備占用一個數(shù)據(jù)字dw,根據(jù)設(shè)備的順序編號,可以訪問該設(shè)備在數(shù)據(jù)塊中的數(shù)據(jù)字。下面列出各種模塊的輸入輸出參數(shù)和各個狀態(tài)位、命令位的符號。見附表。
            可以從表1看出,八種功能塊具有很多共同屬性,并且其地址偏移是一致的,只要理解了各種功能塊所需要的命令參數(shù)和狀態(tài)參數(shù),就不難編寫出相應(yīng)的處理過程。圖6給出功能塊的主要處理流程。


            有了各類數(shù)字量設(shè)備的標(biāo)準(zhǔn)處理功能塊,涉及到數(shù)字量設(shè)備的plc控制程序編寫起來就非常簡單。想修改某個設(shè)備的報警檢測時間也很方便,只要通過電腦修改對應(yīng)的plc內(nèi)部數(shù)據(jù)字就行。每增加一個設(shè)備,只要增加一次功能塊調(diào)用,賦給功能塊四個參數(shù):設(shè)備順序號、輸入信號地址、輸出信號地址,則信號處理過程就自動完成,處理結(jié)果也放在了對應(yīng)的數(shù)據(jù)字中??梢钥闯?,利用設(shè)備標(biāo)準(zhǔn)處理功能塊,幾百個設(shè)備與幾千個設(shè)備的編程難度是一樣的。


          4 結(jié)束語
            通過以上的論述,可以看出,這些數(shù)據(jù)量設(shè)備控制模塊的設(shè)計遵從面向?qū)ο缶幊趟枷?,各類設(shè)備的處理過程封裝在標(biāo)準(zhǔn)功能塊中,只保留了與具體設(shè)備有關(guān)的四個輸入輸出地址參數(shù),設(shè)備控制功能塊只需設(shè)計一次,就可以反復(fù)調(diào)用,這樣就大大簡化了控制系統(tǒng)的程序設(shè)計。該方法已經(jīng)在大型啤酒發(fā)酵過濾生產(chǎn)控制系統(tǒng)設(shè)計中的得到應(yīng)用。

          上一頁 1 2 下一頁

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();