技術頻道

      西門子PCS7系統在控制器內存容量不足時的處理方法

        一、項目簡介

        上虞杭協聯電廠(見圖1)位于浙江省上虞市精細化工園區內,是杭州協聯熱電廠于2003年在上虞市投資創建的。一期項目總的裝機容量為27MW,3臺130t/h循環硫化床鍋爐,一臺12MW的凝汽式汽輪機,一臺15MW的背壓式汽輪機,年發電能力2億千瓦時,供汽能力150萬噸。

        圖1 電場外景

        本項目采用西門子PCS7控制系統,控制系統的設計上包括了三臺130t/h循環硫化床鍋爐,一臺12MW的凝汽式汽輪機,一臺15MW的背壓式汽輪機,及減溫減壓,化學水處理等輔機系統。其中主機部分采用了五套冗余的414-H控制器,三爐兩機各單獨使用一套控制器,輔機部分使用了一套非冗余的414控制器。

        本項目遇到了控制器內存不足的情況,實施了一些特殊的處理方法,現記錄如下。

        二、CPU內存的組成情況

        CPU的內存組成情況如圖2所示。

        圖2 CPU內存組成情況

        CPU的內存由load memory和work memory兩部分組成。Load memory是可以通過外擴存倒卡的方式擴展,而work memory是集成在CPU內部無法擴展的,所以我們需要節省work memor的使用。Work memory包括code memory和data memory。對于PCS7項目,code memory的d用量要遠遠高于data memory的使用量i所以要節省CPU的內存最終就是要節省work memory[}的code memory。

        code memory的使用分配包括了四部分,如圖3所示。

        圖3 code memory的使用分配

        用戶程序--block

        I/O過程映像區--input/output image

        診斷緩沖區--diagnose buffer

        通訊任務數量--communicate job

        所以我們就要通過節省以上四部分的使用來節省CPU的code memory。

        本項目中的CPU內存不足出現在3個鍋爐系統對應的3套414-H控制器,每個鍋爐的信號數量為550點,其中Al信號為200點,控制回路為23個,414-H控制器的work memory為768K, code memory為384K,最初程序完成后,已超400K,無法下載程序,后進行了以下處理。

        三、節省內存的方法

        1.減少用戶程序

        由以上work memory的組成情況可以看出,用戶程序的使用情況決定了work memory余量的大小,所以我們要盡量減少用戶程序,方法如下:

        方法1,避免使用開關量信號的信號驅動塊,即CH-DI、CH-DO塊。這兩種塊只有在我們調試程序時有一些作用,當我們內存不足時,完全可以不使用這兩種驅動塊,而直接使用地址來編程序。

        方法2,用用戶自定義的FB塊來替換模擬量信號驅動塊CH-AI、CH-AO。首先對于PCS7項目,相同大小的FC塊的重復調用要比相同大小的FB塊的重復調用所占用的CPU的code memory大得多,而CH-AI、CH-AO塊是FC塊,且尺寸較大,所以我們要用用戶自定義的FB塊來代替CH-AI、 CH-AO塊;其次,CH-AI、CH-AO塊不僅在循環掃描周期中(如OB35)被調用,而且還在OB100中被調用,這就使這兩種塊占用CPU的內存加倍,所以如果不需要在OB100中做特殊程序處理時,我們自己創建FB塊只在循環掃描周期中(如OB35)被調用,來減少用戶程序。

        方法3,刪除系統生成的I/O模板的驅動塊。在采用以上兩種方法,但CPU內存還不能滿足要求時,可以采取這種方法。當我們編譯產生模板驅動后,系統會自動生成許多驅動塊,其中包括I/O模板的驅動塊、CPU的驅動塊、冗余的驅動塊、IM153的驅動塊等,而其中I/O模板的驅動塊占用了較多的程序。當我們不使用信號驅動塊時,則可以刪除I/O模板的驅動塊,但是我們將無法得到模板的運行報警信息。

        2.減少診斷緩沖區

        CPU的診斷緩沖區存儲了系統的硬件診斷信息,利用診斷信息,工程師可以清楚地了解到CPU歷史及現在的運行狀況和故障信息。如我們不需要保存太久的CPU診斷信息,我們可以減少診斷緩沖區的容量來節省內存。PCS7 V6版本中CPU414-H的默認緩沖區大小為3000條診斷信息,我們可以最低減少到100條診斷信息。

        3.減少I/O過程映像區

        通過減少過程映像區的大小,同樣可以節省CPU的code memory。對于PCS7系統組態硬件時,模擬信號默認的起始地址為IW512和QW512,這時我們就要調整相應的起始地址,將其盡量減小。例如,開關量信號組態的最高地址如果是140.7和Q20.7,我們可以將模擬信號的起始地址設為IW50和QW30,以此可減少過程映像區的大小。

        4.減少CPU的通訊任務數量

        CPU的通訊任務占用了CPU大量的內存,對CPU的code memory的影響很大,所以我們要盡量減少CPU的通訊任務數量,來節省大量的內存空間。

        具有報警信息功能的FB塊的數量決定了通訊任務數量,這些FB塊包括CTRL-PID. MOTOR、 MEAS-MON. VAL-MOT. MOD1等,所以我們在CFC編程時要盡量減少這些塊的數量。

        方法1,不使用MEAS-MON塊。我們常用MEAS-MON塊來實現對采集的過程模擬信號進行顯示及報警,但是由于它占用了CPU的通訊任務,我們將不能使用它。對于模擬信號的顯示,我們可創建一個FB塊來實現,對于模擬信號的高低限報警,我們可以使用ALARM-8P來實現,這樣可以大大減少通訊任務數量。

        方法2,刪除系統生成的I/O模板的驅動塊。I/O模板的驅動塊同樣占用了CPU的通訊任務,所以刪除系統生成的I/O模板的驅動塊,同樣可以大大減少通訊任務數量,刪除方法上己闡述。

        四、內存不足時程序的優化

        CPU的內存不足,將給我們帶來的主要問題是程序無法部分下裝,所以我們將針對這個問題進行程序的優化。

        方法1,建立多個運行組,盡量減少每個運行組內所調用的程序塊的數量。每個運行組內所調用的程序塊的數量越多,則編譯后系統生成的FC塊的尺寸就越大,如果FC塊的尺寸太大,則程序將無法部分下裝。

        方法2,CFC盡量按功能分,減少CFC程序之間的連接。一般情況下,我們編程時每個CFC都對應一個運行組,減少CFC程序之間的連接,則在修改程序后進行部分編譯時,所更改的程序就會相對減少,部分下裝的可行性就要大一些。

        五、小結

        通過以上方法基本解決了本項目中CPU內存不足的問題,為杭州協聯熱電廠節省了大量的資金投入。現三爐兩機已全部投產,一切運行正常。

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 色妞AV永久一区二区国产AV| 精品人妻少妇一区二区三区| 精品国产一区二区三区久 | 夜精品a一区二区三区| 亚洲丰满熟女一区二区哦| 日韩伦理一区二区| 丝袜人妻一区二区三区| 无码人妻精品一区二区三区在线| 亚洲日本va午夜中文字幕一区| 国产精品揄拍一区二区| 波多野结衣一区在线观看| 精品乱子伦一区二区三区高清免费播放| 相泽亚洲一区中文字幕| 国产成人久久精品一区二区三区 | 乱精品一区字幕二区| 精品国产一区二区三区麻豆 | 中文字幕aⅴ人妻一区二区| 中文字幕精品一区二区日本| 亚洲一区精彩视频| 日韩社区一区二区三区| 亚洲一区在线视频观看| 乱中年女人伦av一区二区| 亚洲bt加勒比一区二区| 日韩久久精品一区二区三区 | 久久免费区一区二区三波多野| 波多野结衣一区二区| 中文字幕一区二区视频| 亚洲熟妇无码一区二区三区导航| 日本丰满少妇一区二区三区| 午夜天堂一区人妻| 日韩精品一区二区三区中文字幕| 亚洲国产一区二区a毛片| 精品一区二区三区在线视频观看| 亚洲一区动漫卡通在线播放| 精品一区二区三区视频| 少妇无码一区二区二三区| 一区视频免费观看| 在线一区二区三区| 亚洲熟妇av一区| 国产在线不卡一区二区三区| 国产精品无码一区二区三区免费|