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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用PC和PLC實現(xiàn)集散控制

          用PC和PLC實現(xiàn)集散控制

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


          操作站與控制站數(shù)據(jù)交換地址的分配:操作站與控制站的數(shù)據(jù)通信是通過讀寫PLC的內(nèi)部寄存器來完成的,為了實現(xiàn)操作站與控制站的實時通訊,還必須為PLC配置足夠的內(nèi)部寄存器地址來存貯這些數(shù)據(jù);比如,定義DM0232作為操作站與控制站交換LT-101的數(shù)據(jù)的內(nèi)部寄存器,則PLC把采集到LT-101的液位信號經(jīng)過預(yù)處理后存貯在DMO232,而操作站則到PLC的DM0232讀取LT-101的數(shù)據(jù)來建立自己的數(shù)據(jù)庫;本系統(tǒng)中,共定義此類地址184點。

          中間地址的分配:PLC在運行過程中,還需要大量的中間寄存器來存放那些運算過程中的臨時數(shù)據(jù),為提高應(yīng)用程序的可讀性,也必須對這些寄存器進行必要的定義和注釋。

          2.4.2.為控制策略編寫梯形圖

          自動調(diào)節(jié):本系統(tǒng)中選用3個PID03模塊組成6個調(diào)節(jié)回路來完成生產(chǎn)過程的自動控制,為了方便操作人員在操作站對控制過程的管理,PID03的SW2應(yīng)設(shè)置為ON,并編寫相應(yīng)梯形圖以實現(xiàn)PLC與PID03的數(shù)據(jù)交換,比如:調(diào)節(jié)回爐PIC111由單元號為5的PID03的第二回路完成,當(dāng)執(zhí)行圖2所示一段程序后,PLC中地址DM0060中的數(shù)據(jù)就被定義為調(diào)節(jié)回路PIC111的給定值。


          圖2 為PIC111寫設(shè)定值

          三取二表決:為保證安全生產(chǎn),常壓罐的壓力必須控制在規(guī)定的范圍內(nèi),每升高(降低)到一定范圍時,就必須啟動(停止)相應(yīng)的設(shè)備;為此,在現(xiàn)場用三塊壓力表來測量其壓力,PLC中對三個壓力進行比較,只有三塊中的二塊同時具備條件時,連鎖才動作;在編寫梯形圖時,采用比較指令、再加上與、或、非等邏輯指令就可實現(xiàn)此控制策略。(梯形圖略)

          連鎖保護:梯形圖與電氣連鎖邏輯圖非常相似,I/O地址確定以后,為連鎖保護編寫梯形圖既操作簡單又可讀性強。為保護設(shè)備和生產(chǎn)安全,本系統(tǒng)共編寫連鎖回路21個。(梯形圖略)

          2.4.3.I/O模塊的設(shè)置與校正:

          梯形圖編寫完成以后,還必須對I/O模塊進行必要的設(shè)置和校正,PLC才能正常工作;模擬模塊應(yīng)設(shè)置與現(xiàn)場設(shè)備相對應(yīng)的輸入信號種類和對輸入信號的預(yù)處理方法,還應(yīng)對零點和量程進行校正;PID模塊除了對輸入信號種類、輸入信號的預(yù)處理方法進行設(shè)置外,還要對PID模塊存儲區(qū)的內(nèi)容及其修改方式、調(diào)節(jié)回路設(shè)定值的修改方式、PID的控制作用及其控制方式等內(nèi)容進行設(shè)置。

          2.5.操作站軟件的組態(tài):

          操作站的組態(tài)選用INTELLUTION的系統(tǒng)軟件FIX32作為技術(shù)平臺:其主要內(nèi)容包括:系統(tǒng)配置、建立數(shù)據(jù)庫、繪制流程圖、定義歷史趨勢和報表等。

          系統(tǒng)配置在本系統(tǒng)中實際上就是在PC機上安裝FIX系統(tǒng),其主要內(nèi)容是定義FIX系統(tǒng)的安裝目錄,安裝接口設(shè)備驅(qū)動程序配置SCADA系統(tǒng),配置報警系統(tǒng),配置網(wǎng)絡(luò)等。FIX提供有龐大的I/O接口設(shè)備驅(qū)動程序庫,本系統(tǒng)配置控制站為OMRON的PLC,因此要選擇安裝I/O驅(qū)動程序OMR.drv和OMRON的PLC進行通訊。

          建立數(shù)據(jù)庫:數(shù)據(jù)庫是SCADA系統(tǒng)賴以工作的基礎(chǔ),它由一系列數(shù)據(jù)點構(gòu)成,每個數(shù)據(jù)點實際上就是一個功能塊,F(xiàn)IX提供了各種功能塊以滿足不同的需要,這些功能塊或?qū)涌谠O(shè)備讀寫數(shù)據(jù),或?qū)?shù)據(jù)進行運算和報警處理。在數(shù)據(jù)庫中建立一個數(shù)據(jù)點就是定義一個功能塊,其內(nèi)容包括:功能塊類型,數(shù)據(jù)點的位號、注釋、零點、量程,接口設(shè)備,I/O地址,數(shù)據(jù)的格式,報警上、下限等。如:在數(shù)據(jù)庫中添加一個AI模塊,在其屬性對話框中定義:“位號”為“LT-101”,“描述”為“緩沖球罐F0101A液位”,“接口設(shè)備”為“OMR”,“I/O地址”為“D:DM:232”,“數(shù)據(jù)的格式”為“12AL”,“零點”為“0”,“量程”為“17”,“單位”為“M”;則在數(shù)據(jù)庫中便建立了一個數(shù)據(jù)點LT-101,它讀取PLC中地址為DM0232的寄存器中的數(shù)據(jù)(0 -4095),并轉(zhuǎn)換為0-17M的數(shù)據(jù)供FIX其它功能塊和流程圖調(diào)用。

          繪制流程圖:流程畫面實際上是一個人機接口,操作人員就是通過流程畫面來了解和控制生產(chǎn)過程的,所以流程畫面既要信息全面,又要簡單扼要。FIX系統(tǒng)提供了WINDOWS風(fēng)格的繪圖工具和相關(guān)控件,可以很方便地繪制多種動態(tài)畫面來滿足操作人員的要求。比如:在流程畫面中,為了形象地顯示緩沖球罐F0101A的液位,只需在其圖形的動態(tài)特性對話框中選中動態(tài)填充屬性,定義其填充色的高度隨“位號”為“LT-101”的數(shù)據(jù)的大小而變;為了準(zhǔn)確地顯示該液位的實際高度,可在該球罐圖形旁邊定義一個動態(tài)數(shù)據(jù)連接,連接到“位號”為“LT-101”的數(shù)據(jù)點;為了直觀地顯示各種閥門的工作狀態(tài),在其圖形的動態(tài)屬性對話框中選中動態(tài)顏色變化,閥門關(guān)顯示靜止的紅色,閥門開顯示靜止的綠色,閥門關(guān)出現(xiàn)故障顯示閃爍的紅色,閥門開出現(xiàn)故障顯示閃爍的綠色;為了快速控制閥門,把它的彈出式開關(guān)畫面連接到其圖形上,只需用鼠標(biāo)單擊其圖形,即彈出開關(guān)畫面,實現(xiàn)流程畫面上的對象所見即所得。

          定義報表:考慮到總公司已推行電子化辦公,各種報表均設(shè)置為定時保存到文件,操作人員可以根據(jù)需要隨時調(diào)用,并隨著辦公自動化的推行,與企業(yè)內(nèi)部管理網(wǎng)連網(wǎng),通過WEB頁瀏覽和調(diào)用。


          3.結(jié)束語

          該控制系統(tǒng)投用2年多來,性能穩(wěn)定、運行可靠,界面友好,操作簡單,維護工作量很小,受到了操作和維護人員的歡迎;投用后,根據(jù)技改工作需要又進行了2次擴容均未影響正常生產(chǎn),實踐證明PC+PLC構(gòu)成DCS,系統(tǒng)配置靈活、軟件組態(tài)簡單,便于自行設(shè)計和調(diào)試,性能價格比優(yōu)越,系統(tǒng)擴展容易且維護工作量小,是企業(yè)進行技術(shù)改造和中小型生產(chǎn)過程首選的自控系統(tǒ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); })();