技術頻道

      西門子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所有,未經許可不得轉載。

      主站蜘蛛池模板: 亚洲日本va午夜中文字幕一区| 福利电影一区二区| 国产一区视频在线| 无码视频免费一区二三区| 东京热无码一区二区三区av| 亚洲熟女综合一区二区三区| 久久国产午夜一区二区福利| 久久婷婷色综合一区二区| 亚洲AV日韩精品一区二区三区| 亚洲一区AV无码少妇电影| 99精品国产高清一区二区麻豆 | 国产福利一区二区三区在线视频| 一区二区三区高清视频在线观看| 国产一区二区三区露脸| 无码精品前田一区二区| 日韩一区二区三区在线观看| 无码精品不卡一区二区三区 | 国产日韩AV免费无码一区二区三区 | 亚洲视频一区网站| 无码国产精品一区二区免费模式 | 精品一区二区三区视频在线观看| 中文精品一区二区三区四区 | 久久99精品免费一区二区| 无码毛片一区二区三区中文字幕| 婷婷亚洲综合一区二区| 麻豆视传媒一区二区三区| 亚洲片一区二区三区| 久久AAAA片一区二区| 亚洲国产成人一区二区精品区| 精品国产日产一区二区三区| 日韩一区二区电影| 人妻无码一区二区不卡无码av| 亚洲熟妇av一区二区三区下载| 老熟女高潮一区二区三区| 无码国产精品久久一区免费 | 国产高清在线精品一区小说 | 国产激情一区二区三区成人91| 一区二区三区四区视频在线| 岛国精品一区免费视频在线观看| 亚洲综合无码精品一区二区三区| 69福利视频一区二区|